阳阳老师,毕业于大连理工大学计算机科学与技术专业,本科学历,毕业后先后在上海宝信软件股份有限公司、大智慧软件有限公司、日本三合气动株式会社、上海宝信青岛分公司从事软件开发超过10年时间。从8年级开始,阳阳老师先后接触了QB语言、C语言、C#语言、JAVA语言。对软件开发的流程、设计文档的编写、软件开发的维护、测试、部署、反汇编、汇编、代码编写、算法设计有着较深的领悟。
欢迎大家跟阳阳老师一起学习python语言,python语言是一门胶水语言,它很好的结合了C语言和C++语言的优点,简单易学,只要你能够很耐心地听完全部的课程,相信你会喜欢上编程。
在学习中,如遇问题,可以随时电联给阳阳老师,阳阳老师会耐心细致的解答你的任何问题,哪怕是很简单的问题。阳阳老师的电话是:13862878174。你也可以让爸爸妈妈添加阳阳老师的微信,微信账号是阳阳老师的手机号码或扫描下面的二维码也可以找到阳阳老师。添加老师请注明来意哦!
目录
1.2.1.3 在Windows 64位操作系统上安装python
5.1.1.2 backward( )|bk( )| back( )后退
5.2.1.1 pendown( )|pd( )|down( )
目录
1.1了解python
Python,本义是指”蟒蛇”。1989年,荷兰人吉多·范罗苏姆(Guido van Rossum)发明了一种面向对象的解释型高级编程语言,将其命名为Python。标志如图1.1所示。Python的设计哲学为”优雅、明确、简单”,实际上,Python始终贯彻着这一理念,以至于现在网络上流传着”人生苦短,我用Python”的说法,可见Python有着语法简单,开发速度快、节省时间和容易学习特点。
图1.1Python的标志
吉多·范罗苏姆
Python是一种扩充性强的编程语言。它有着丰富和强大的库,能够把使用其他语言制作的各种模块(尤其是C/C++语言)很轻松地联结在一起,所以Python常被称为”胶水”语言。
1991年,Python的第一个版本公开发行版问世、1994年1月,Python1.0版本、2000年10月,发布了Python2.0、2008年12月,发布了python3.0版本,但是3.0版本无法运行2.0版本的程序,这意味着3.0代表了python的未来。
2004年开始,Python的使用率呈现线性增长,逐渐受到编程者的欢迎和喜爱。2010年Python荣登TIOBE 2010年年度语言桂冠、 2017年~2019年,在IEEE Speccturm发布的年度编程语言排行榜中,Python已经夺得三连冠。如图1.2。
1.1.1python的版本
Python自发布以来,主要有三个版本:1994年发布的Python1.0版本(已经过时)、2000年发布的Python2.0版本、2008年发布的Python3.0版本,截止到2021年3月Python3.0已经更新到了3.9.2。
Python作为一种功能强大的编程语言,因其简单易学而受到很多开发者的青睐。那么Python的应用域有哪些呢?概括起来主要有以下几个方面:
✳应用程序开发:拥有脚本编写、软件开发等标配能力;
✳AI人工智能:机器学习、神经网络、深度学习等方面得到广泛的支持和应用;
✳数据分析:大数据行业的基石;
✳自动化运维开发:运维工程师首选的编程语言;
✳云计算:拥有成功案例OpenStack;
✳网络爬虫:大数据行业获取数据的核心工具;
✳Web开发:完善的框架支持,开发速度快;
✳游戏开发:简单、高效、代码少。
在正式学习Python开发之前,需要首先搭建Python开发环境。Python是跨平台的开发工具,可以在多个操作系统上进行编程,编写好的程序也可以在不同操作系统上运行。
常用的操作系统及说明见表1.1所示。
表1.1Python开发常用的操作系统及说明
操作系统 | 说明 |
Windows | Windows 7或以上版本均可(推荐使用windows 10) 注意:python3.5以上版本不能在Windows xp系统上使用 |
Mac OS | 从Mac OS X 10.3(panther)开始已经包含python |
Linux | 推荐使用Ubuntu版本 |
1.2.1下载、安装python
要运行Python开发,需要先安装Python解释器。由于Python是解释型编程语言,所以需要一个解释器,这样才能运行编写的代码,这里说的安装Python实际上就是安装python的解释器。下面以Windows操作系统为例介绍安装python的方法。
目前,很多软件,尤其是编程工具为了提高开发效率,分别对32位操作系统和64位操作系统做了优化,推出了不同的开发工具包。Python也不例外,所以在安装python之前,需要了解计算机操作系统的位数。
*Windows10操作系统查看的位数
在桌面上找到”计算机”图标,右击该图标,在打开的菜单中选择”属性”,如图1.3。选择属性后将弹出如图1.4所示的计算机系统窗口。在该系统类型标签右侧将显示64位操作系统或32位操作系统,该信息就是操作系统的位数。当前计算机操作系统位数位64位。
图1.3 在菜单上选择”属性”
1.4 查看系统类型
在python的官方网站中,可以很方便地下载python的开发环境,具体v的下载步骤如下:
- 、打开浏览器,输入python官方网站,地址为”https://www.python.org/”,如1.7所示:
图1.5 python官方网站首页
- 、将鼠标移动到Downloads菜单上,将显示和下载有关的菜单项。因为官网会检测计算机的位数,所以可以直接点击右侧的”python3.9.2”进行下载,下载后得到安装包”python-3.9.2-amd64.exe”。
1.2.1.3 在Windows 64位操作系统上安装python
在Windows 64位操作系统上,安装python3.9.2版本的步骤如下:
- 、双击下载的安装包后将显示向导对话框,选中”Add Python 3.9.2 PATH”复选框,表示将自动配置环境变量。
- 单击”Customize installation”(选择自定义安装),自定义安装可以修改安装路径,在弹出的安装选项对话框中采用默认设置。
- 单击Next按钮,将打开高级选项对话框,在该对话框中,设置安装的路径为”C:\Python\python39”(你也可以自行设置按路径),其它采用默认设置即可。
- 单击Install按钮,开始安装python。
- 安装完成后,如果界面显示”Setup was successful”,则表示安装成功。
1.2.2 测试安装是否成功
在python安装完成后,需要检测python是否成功安装。例如,在Windows 10操作系统中检测python是否安装成功,可以 在开始菜单右击”运行”,在文本框中输入”cmd”,回车,会出现启动命令行窗口,在当前的命令提示符下输入”python”,回车,如果出现图1.8所示的信息,则说明python安装成功,同时系统将进入交互式python解释器中。
图1.6 在命令行窗口中运行的python解释器
1.3第一个python程序
在安装python后,会自动安装一个IDEL。它是一个python Shell(可以在打开的IDEL窗口的标题栏上看到),程序开发人员可以利用Python Shell与python交互。下面将介绍如何使用IDEL开发第一个python程序。
1.3.1在IDEL中打印输入’Hello World’
单击Windows 10系统的开始菜单,然乎依次选择”所有程序”—>’’python 3.9’->”IDEL(PYTHON3.9 64-bit)”菜单项,即可打开IDEL窗口,如图1.9所示。
图1.7 IDEL主窗口
在IDEL中,可以输出简单的语句,但是实际开发时,通常不能只包含一行代码,当需要编写多行代码时,可以创建一个文件夹来保存这些代码,在全部编写完成后一起执行。具体方法如下:
- 、在IDEL中主窗口的菜单栏上,选择”File”->”New File”菜单项,将打开一个新窗口,在该窗口中,可以直接编写python代码。在输入一行代码后再按下<Enter>键,将自动换行到下一行,等待继续输入,如图2.0所示。
图1.8 新创建的python文件窗口
- 、再代码编辑区中,输入多行代码。例如,输入中英文版的”人生苦短,我用python”,代码入下:
print(‘人生苦短,我用python’)
print(‘Life is short,you need python’)
编辑好的代码如图2.1所示。
图1.9 编写代码后的python文件窗口
(3)、按下快捷键<Ctrl+S>保存文件,这里将文件名称设置为demo.py。其中.py是python的扩展名。
1.3.2运行python程序
在IDEL中,要运行已经编辑号的python程序,可以在菜单栏上选择”Run”->”Run Module”菜单项(或按<F5>快捷键)实现。例如要运行1.3.1小节编写的python程序,可以在菜单栏中选择”Run”->”Run Module”菜单项(也可以直接按下<F5>快捷键),程序运行结果如图2.0所示。
图2.0 运行程序
运行程序后,将打开python Shell窗口显示运行结果,如图2.1所示。
图2.1 运行结果
要运行一个已经编辑好的.py程序,可以右击开始菜单,选择”运行”,在文本框中输入命令”cmd”,启动命令行窗口,并按下<Enter>键,启动命令窗口,然后输入如下代码:
Python 完整的文件名(包括路径)。
1.3.3常见问题与解决
运行python程序时,出现”importError:No module named ‘encodings’”异常
如果在一台计算机中,安装过多个版本的python,当删除了某个版本的python后,再运行之前安装的python时,可能会出现”importError:No module named ‘encodings’”异常。这是因为找不到python解释器了。解决方法是删除以前安装的python文件,然后重新安装想用的python,并且安装时,勾选”Add python 3.9 to PATH”复选框,表示将自动配置环境变量。
动手试一试1
任务一:输出”XXX(自己的名字)开始学习python啦”
打开IDEL,在python提示符下”>>>”的右侧输出一行代码,实现”输出XXX(自己的名字)开始学习python啦”。(操作提示:使用print()函数可以向屏幕输出文字),保存文件名为1-1。程序效果如图2.2所示。
图2.2 输出”XXX开始学习python啦”
任务二:输出自己的新年寄语。保存文件名为1-2。
要求使用print()函数,向屏幕输出自己的新年寄语。
2.1python的语法规则
学习python需要了解它的语法规则。例如,注释规则、缩进规则、编码规则等。下面将对学习python时,首先需要了解的这些语法规则进行详细的介绍。
2.1.1 注释
注释是指在代码中添加的标注性的文字,旨在告诉别人你的代码要实现什么功能,从而帮助程序员更好地阅读代码。注释的内容将被python解释器忽略,并不会在执行结果中体现出来。
在python中,通常包括3种的注释,分别是单行注释,多行注释和中文编码声明注释。这些注释在IDEL种的效果如图2.1所示。
图2.1 python中的注释
在python中,使用”#”作为单行注释的符号。从符号”#”开始直到换行为止,其后面所有的内容都作为注释的内容而被python解释器忽略。
语法如下:
#注释内容
单行注释可以放置在需要添加注释代码的前一行,也可以放在需要添加注释代码的右侧。例如,下面的两种注释形式都是正确的。
第一中形式:
第二种形式:
在添加注释时,一定要有意义,即注释能充分体现代码的作用。例如,2.2所示的注释就是冗余的注释。如果将其改为如图2.3所示的注释,就能很清楚地指定代码的作用了。
图2.2 冗余的注释
图2.3 推荐的注释
注释可以出现在代码的任意位置,但是不能分隔关键字和标识符。例如下面的注释是错误的:
图2.4 注释的错误示范
在python中,并没有一个单独的多行注释标记,而是将包含在一对三引号(‘’’……’’’)或者(“””……”””)之间,并且不属于任何语句的内容认为是注释,这样的代码解释器将忽略。由于这的代码可以分为多行编写,所以也作为航航注释。
语法如下:
‘’’
注释内容1
注释内容2
……
‘’’
或者
“””
注释内容1
注释内容2
……
“””
三引号是指通过键盘一次性输入三个单引号或三个双引号(需要在英文半角格式下输入,否则出错)。
多行注释通常用来注释python文件、模块、类或函数等添加版权、功能等信息,例如,下面代码将使用多行注释为demo.py文件添加版权、功能及修改日期等信息:
图2.5 多行注释体现的是版权信息、开发时间、主要功能
在python中,还提供了一种特殊的中文编码注释。该注释的出现主要是为了解决python2.x中不支持直接写中文的问题。虽然在python3.0中,该问题已经不存在了。但是为了规范也买你代码,也为了方便其他人及时了解文件所用的编码,建议在文件的开始处加上中文编码声明注释。
语法如下:
# -*- coding:编码 -*-
或者
# coding=编码
在上面的语法中,编码为文件所使用的字符编码类型,如果采用UTF-8编码,则设置为UTF-8;如果是采用GBK编码,则设置为GBK或CP936。
例如,指定编码为UTF-8,可以使用下面的中文编码声明注释:
# -*- coding:UTF-8 -*-(“-*-”没有特殊含义和作用,只是为了美观才加上去的,所以这条注释也可以直接改为”# coding:UTF-8”)。
另外,中文编码声明注释也可以写成这样:
# coding=UTF-8
2.1.2代码缩进
Python不像其他程序设计语言(如Java或者C语言)采用大括号{ }分隔代码块,而是采用代码缩进和冒号”:”区分代码之间的层次。
缩进可以使用空格或者Tab键实现。其中,使用空格时,一般采用4个空格作为一个缩进量,而使用Tab键作为一个缩进量。通常情况下建议采用Tab进行缩进(按依次Tab键表示4个空格)。
在python中,对于类定义、流程控制语句、函数定义以及异常处理语句等,行尾的冒号和下一行的缩进表示一个代码块的开始,而缩进结束,则表示一个代码块的结束。
例如,图2.6的程序中的缩进即为正确的缩进格式:
图2.6 使用正确的代码缩进
Python对代码的缩进要求非常严格,同一级别的代码块的 缩进量必须相同。如果不采用合理的代码缩进,将显示SyntaxError异常。例如,代码中有的缩进量是4个空格,还有的是3个空格,就会出现SyntaxError错误,如图2.7。
图2.7 缩量不同导致的SyntaxError错误
在IDEL中开发环境中,一般以4个空格作为基本缩进单位。不过也可以选择Opeions->Configure IDEL菜单项,在打开的Settings对话框,如图2.8所示中的Fonts选项卡中修改代码的基本缩进量。
图2.8 修改基本缩进量
2.1.3 代码规范
在编写代码时,遵循一定的代码编写规则可以使代码更加规范化,并对代码的理解与维护起到至关重要的作用。本小节将对python代码的编码规范以及命名规范进行介绍。
Python中采用PEP8作为编码规范,其中PEP是python Enhancement Proposal的缩进,翻译过来是python增强建议书:而PEP8表示版本,它是python代码的样式指南。下面给出PEP8编码规范中的一些在编程过程中应该严格遵守的规则。
✳每个import语句只导入一个模块,尽量避免一次导入多个模块。图2.9所示的推荐的写法,而图2.10是不推荐的写法。
图2.9 推荐写法 2.10不推荐写法
✳不要在行尾添加分号”;”,也不要用分号将两条命令放在同一行。例如,如图2.11所示的代码为不规范的写法。
图2.11 不规范的写法
✳建议每行不超过80个字符,如果超过,建议使用小括号”( )”将多行内容隐式地连接起来,而不推荐使用反斜杠”\”进行连接。例如,如果一个字符串文本在一行上显示不下,那么可以使用小括号”( )”将其分行显示。如下面的代码是推荐的。
S=(‘我爱python编程,我会’
‘努力学习python’)
而使用反斜杠”\”进行连接是不推荐的,如:
S=(‘我爱python编程,我会\
努力学习python’)
命名规范在编写代码在中,虽然不遵循命名规范,程序也可以运行,但是使用命名规范可以更加直观地了解代码所代表的含义。本小节将介绍python中常用的一些命名规范。
推荐使用的是法国数学家Blaise Pascal而命名的一种编程语言,python命名法就是根据该语言的特点总结出来的一种命名方式。
✳模块内部的类采用下划线”_”+Pascal风格的类名组成。例如,在BorrowBook类中,可以使用_BorrowBook命名
✳函数、类的属性和方法的命名规则同模块类似,也是全部采用小写字母,多个字母间用下划线”_”分隔。
✳常量命名规则爱用全部大写字母,可以使用下划线。
✳使用双下划线”_ _”开头的实例变量或方法是类私有的。
动手试一试1
任务1 为写好的程序添加多行注释
要求:使用多行注释,写清楚代码实现的功能、开发者、开发时间(2020年3月25日)、版权信息(启智教育)等信息。保存文件名为2-1。代码如下:
任务2 为代码找茬
下面的程序共有2处错误,请找出来,保存文件名为2-2。
2.2保留字和标识符
2.2.1保留字
保留字也叫做关键字,是python语言中以及被赋予特定含义的一些单词,在开发程序时,不可以把保留字作为变量、函数、类、模块和其他对象的名称来使用。Python中保留字如表2.1所示,python中一共有36个保留字。
And | As | Assert | Break | Class | Continue |
Def | Del | Elif | Else | Except | Finally |
For | From | False | Global | If | Import |
In | Is | Lambda | Nonlocal | Not | None |
Or | Pass | Raise | Return | Try | True |
While | With | Yield | __peg_parser__ | Import | Async |
Python shell中可以通过代码将全部的保留字打印出来,代码如下:
>>> import keyword
>>> keyword.kwlist
运行代码后就可以得到全部的保留字了。
Python中所有的保留字是区分大小写的。如if是保留字,而IF不是保留字。
如果在开发程序时,不要使用36个保留字,以免程序出错。
2.2.2 标识符
标识符可以简单地理解为一个名字,比如每个人都有自己的名字,它主要用来表示变量、函数、类、模块和其他对象的名称。
Python语言的标识符命名规则如下:
✳由字母、下划线”_”和数字组成,并且第一个字符不能是数字。
✳不能使用python中的保留字。
以下是合法的标识符:
USERID
name
mode12
User_age
下面的标识符是错误的
4word#以数字开头
Try#python中的保留字
$money#不能以特殊字符开头
✳区分大小写
在python中,标识符的字母是严格区分大小写的,两个同样的单词,如果大小写的格式不一样,那么所代表的意义是完全不同的。例如,下面的3个变量是完全独立的,毫无关系的,就像3个长得比较像的人,彼此之间都是独立的个体:
Number=0
number=0
NUMBER=0
动手试一试2
任务1 打印python中的保留字
请新建一个python文件,将python中所有的保留字打印出来。保存文件名为2-3。
任务2 为已写的代码找茬
以下程序定义了5个标识符,但是在程序运行的时候出现了错误,请挑出来。保存文件名为2-4。
as=3
True=1
100=1
101long=1
Name=1
2.3变量
2.3.1 理解python中的变量
在python中,变量是一个容器,无论是数字、字母、特殊符号赋值给变量。
变量严格上讲应该理解为”名字”,当把一个值赋值给一个名字的时候,python就称为变量。
如,Number=1,number是变量名称,而1是值,它的含义是将数值1赋值给变量number。
2.3.2 变量的定义和使用
不需要先声明变量的名字和类型,直接赋值即可创建各种类型的变量,需要注意的是:
✳变量名必须是一个有效的标识符。
✳变量名不能使用python中的保留字。
✳慎用小写字母I和大写字母o。
✳应选有意义的单词作为变量名。
✳不能将以数字开头作为变量名,如1u_age=109,这种写法是错误的。
为变量赋值可以通过等号”=”来实现,语法为:
变量名=value
例如,创建一个整型变量,并为其赋值为1024,可以使用下面的语句:
number=1024 #创建一个number变量,并为其赋值为1024。
这样创建的变量就是数值型变量,如果直接为变量赋值一个字符串值,那么该变量即为字符串变量。如:
nickname=”python”
另外,python是一种动态的语言,也就是说其值不会一成不变的,比如,number=3,在后续的程序中又重新赋值为99,那么,python会取最后一次赋的值即number=99。
动手试一试3
任务1:定义变量并输出它们的类型
请定义3个不同的变量,并赋值为1024,”我们的青春”,”2048”,使用print( )内置函数type( )函数输出变量的类型。保存文件名为2-5。
如:
number=1024
Print(type(number))
任务2:自己编写一段自我介绍,并输出。保存文件名为2-6。
2.4基本数据类型
要记住一个人,可以通过记住他的姓名、身高、性别、年龄等。在python中,姓名、性别可以使用字符串记录存储,身高可以用浮点数记录存储,年龄可以用整型记录存储。下面将进行详细介绍。
2.4.1 数字类型
在生活中,经常使用的数字记录学生的考试成绩,这些成绩可以是整数也可以是小数,在python中,提供了数字类型用于存储这些数值。这些数值类型包括了整数(int)、浮点数(float)和复数。
数据类型是不允许改变的,如果想要改变则需要重新被赋值。
整数用来表示整数数值,即没有小数部分的数值。在现实生活中,我们用十进制数0~9来数数,比如,我们会用数字9来表示某位同学的年龄、用数字3表示红绿灯有3个信号灯组成、用-4表示比0小的整数等。
这些数字都是整数,没有小数点,在python中,我们将这类数字叫做整数。
以下程序在变量赋值时number将被创建:
Var=1
它的含义是将数字1赋值给变量Var,这样以后凡是要用到Var这个变量的时候,Var的值是不变的,除非我们再次给Var值赋值,Var的值才会发生改变,比如给Var重新赋值为9即Var=9,那么以后的Var的值就会是9而不是1。
python语言的整型在32位机器上,整型的位宽为32位,取值范围为 -2147483648~2147483647;在64位系统上,整型的位宽通常为64位,取值范围为-9223372036854775808~9223372036854775807。我们在给一个变量赋值的时候,不要超过这个范围。
浮点数(float)就是带有小数点的数值,比如我们用98.5来表示某位同学数学开始分数、用1.4代表距离目的地还有多远等。浮点数(float)是由整数部分和小数部分组成,中间用小数点(.)隔开,浮点数主要用于处理小数的数。下面的额程序将给变量赋值为浮点数:
Var=0.93
它的含义是将数值0.93赋值给变量Var,同整型(int)一样,浮点数一旦赋值就不能改变,除非我们再次给变量赋值,如我们再次给变量Var赋值为1.7即Var=1.7,那么变量Var的值才会发生改变。
Python中的复数和数学中的复数是完全一样的,都是由实部和虚部组成,且使用j或J表示虚部。当表示一个复数时,可以将实部和虚部相加,例如,一个复数,实部是3.14,虚部为12.5j,则这个复数为3.14+12.5j。
常数也叫常量,是指它的值是不可以改变的,比如圆周率Π,它就是一个常量其值为3.14159,再如三角形内角和为180°也是常量。
2.4.2 字符串类型
在python中,使用英文单引号’……’、英文双引号”””……”””或英文三引号’’’……’’’,将数字、字符、特殊符号等内容放在中间的数据类型叫做字符串。比如’abc123’、”””我在学python”””、’’’2948我们爱编程’’’。
需要注意的是引号必须成对出现且要一致,比如下面的字符串是错误的:‘abc123”、”我在学python’。
我们在python shell中输入’abc123’,会得到如图2.12的结果。
2.12 不带引号输出
如果我们需要打印输出单引号’ ’,可以在单引号的外面再输入一个双引号” ‘ ……’ ”,如图2.13所示。
2.13 要输出单引号
同理,如果我们要打印输出双引号,可以再双引号” ”的额外侧再输入个三引号’’’ “……”’’’,如图2.14所示。
图2.14 输出双引号
我们在打印输出字符串的时候往往需要分两行输出,比如2.15所示。
2.15 将字符串分两行输出显示
我们发现,在上图的程序中的字符串’123’与字符串’456’之间用了’\n’,这个特殊字符,它叫做转义字符。所谓转义字符是指使用反斜杠’\’对一些特殊字符进行转义,比如’\n’它表示换行,当计算机执行到打印’123’后发现后续有转义字符’\n’命令,程序就会将字符串’456’显示在下一行。常用的转义字符见下表:
转义字符 | 说明 | 转义字符 | 说明 |
\ | 续行符 | \” | 双引号 |
\n | 换行符 | \’ | 单引号 |
\0 | 空 | \\ | 一个反斜杠 |
\t | 制表位(空格) | \f | 换页 |
我们发现,在使用转义字符的时,转义字符是不会被打印出来的,比如转义字符’\n’在输出的时候,没有被打印。如果需要将转义字符打印出来我们可以在字符串的外面加上定界符字母r或R,这样就可以将r或R后面的字符连同转义字符一起打印出来,如图2.16所示。
2.16 使用定界符r或R将字符串原样打印
字符串是可以做加法运算的,但是不是真正意义上的加法,而是讲两个或多个字符串连接在一起,比如字符串’123’+字符串’456’,运行结果为’123456’,而不是579。
同时,字符串是可以运算乘法的,比如我们输出5个✳,我们可以用西面的代码:
Print(‘✳’*5),就可以在python shell的屏幕上出现了5个✳。
2.4.3 布尔类型
我们在考试的时候经常会遇到这样的题型叫做判断题,我们会根据题目做出自己的判断,这样的判断不是对的就是错的。在python中,把对或错叫做布尔值,用True或False表示,其中True叫做真(相当于正确的判断题)用数字1表示,False叫做假(相当于错误的判断题)用数字0表示。
2.4.4 数据类型的转换
字符串类型数据和数值型数据是不能直接连接在一起的,而需要对数值型数据转换为字符串才可以做加法运算。比如:
2.17 字符串连接数值型数据的错误演示
上图中字符串’123’如果要连接数据行数据4,是不能直接这样操作的,需要使用python内置函数str( ),将数据型数据4转换为字符串才可以和字符串’123’连接。如图2.18所示。
图2.18 字符串连接数值型数据的正确演示
在python中,提供了下表所示的函数进行数据类型转换。
函数 | 说明 |
Int(x) | 将x转换为整数 |
Float(x) | 将x转换为浮点数 |
Str(x) | 将x转换为字符串 |
Round(x,ndigits) | 将X四舍五入,参数ndigits表示要留小数位数。 |
实例2.2 模拟查实抹零结账
在IDEL中创建一个名称为超市抹零的python文件,在该文件中,首先将各个商品金额累加,计算出商品总金额,并转换为字符串输出,然后再应用int( )函数将浮点型的变量转换为整型,从而实现抹零,并转换为字符串输出。代码如下:
程序运行结果为:
动手试一试4
任务1 在python中,可以通过转义字符输出一些特殊格式,例如,使用’\n’可以输出换行。本次任务要求通过一行代码输出如图2.19所示的古诗《嫦娥》。(提示,使用转义字符’\n’可以换行;使用’\t’可以输出空格)。
2.19 任务1运行后效果
2.5 输入与输出
基本的输入与输出是指我们平时从键盘上输入字符,然后在计算机屏幕上显示。从第一个python程序开始(Hello World.py),我们一直在使用print( )函数向屏幕上输出一些字符,这就是python的基本输出函数。除了print( )函数,python还提供了一个用于接收从键盘输入的函数input( )。
2.5.1 使用input()函数输入
在python中,使用内置函数input()可以接收用户的键盘输入。Input()函数的基本用法如下:
Varibale=input(‘提示文字’)
其中,Varibale为保存输入结果的变量,单引号’ ’(也可以是哦也能够双引号” ”)内的文字用于提示输入的内容。例如,想要接收用户输入的内容,并保存到变量Tip中,可以使用下面的代码:
Tip=input(‘请输入文字’)
无论输入的是数字还是字符都被python认为是字符串。如果想要接收数值,需要把接收到的字符串进行转换。例如,想要接收整数类型的数字并保存到变量Age中,可以使用下面的代码:
Age=input(‘请输入数字’)
Age=int(Age) #将接收到的数字字符串转换为整型数字
实例2.3 根据身高、体重计算BMI指数
使用input()函数输入身高和体重,实现根据输入的身高和体重,计算BMI指数。代码如下:
运行结果为:
2.5.2 使用print( )函数输出
默认情况下,在python中,使用内置的print()函数可以将结果输出到IDEL或标准控制台。基本语法如下:
Print(输出内容)
其中,输出内容可以是数字和字符串(字符串需要使用单引号’ ’或双引号” ”括起来),此类内容将直接输出,也可以是包含运算符的表达式,此类内容将计算结果输出。例如:
在python中的默认情况下,一条print()语句输出后会自动换行,如果想一次输出多个内容,而且不换行,可以将要输出的内容使用英文半角的逗号分隔。比如:print(a,b)。
同时,如果不想换行,可以在输出内容后面加上’,end=’ 分隔符’ ’。其中的’分隔符’可以是空格或其它字符,也可以省略,如果想省略,那么将不会使用分隔符,而是直接连接到一起再输出。
动手试一试5
编写一个程序,对电影《肖克的救赎》进行评分,评分只能输入数字1~9,输出根据用户打分形成的星级(⭐)评价,打几分就输出几个星号。实现效果如下:
3.1 算术运算符
算术运算符是处理四则运算的符号,在数字的处理中应用的最多。常用的运算符如下表所示。
运算符 | 说明 | 实例 | 结果 |
+ | 加法 | 12.45+15 | 27.45 |
- | 减法 | 4.56-0.26 | 4.3 |
* | 乘法 | 5*3.6 | 18.0 |
/ | 除法 | 7/2 | 3.5 |
% | 求余 | 7%2 | 1 |
// | 取整数 | 7//2 | 3 |
** | 幂 | 2**4 | 16,即24 |
在python中,经常使用算术运算符进行加、减、乘、除的运算,例如下面的代码:
程序运行结果如下:
使用除法(/或//)运算符和求余运算符时,除数不能为0,否则将会出现异常。如图3.1所示
在python中进行数学计算时,与我们学过的数学中的运算符优先级是一致的。
✳先乘除后加减
✳同级运算符是从左到右计算
✳可以使用”( )”调整计算的优先级
算术运算符优先级由高到最低顺序的排序如下:
第一级:**
第二级:*、/、%、//
第三级:+、-
例如下面的代码:
程序运行结果是:
实例 3.1 计算学生成绩的分差及平均分
某学员3门课程的成绩如下表所示,使用编码实现:
✳语文课程和数学课程的分数之差
✳语文课程和英语课程的分数之差
✳3门课程的平均分
课程 | 分数 |
语文 | 95 |
数学 | 92 |
英语 | 89 |
首先定义三个变量,用于存储各门课程的分数,然后应用减法运算符计算分差值,再用加法运算符和除法运算符计算平均分,最后得到计算结果,代码如下:
程序运行结果是:
动手试一试1
编写一个小程序,可以根据用户输入的3个数字进行相加运算,如分别输入3,5,12,则输出计算结果为20。每个数字需要分别输入,不可以一次一起输入。如第一次要求输入第一个数字,按下<Enter>键后,再要求输入第二个数字,按下<Enter>键后,再要求第三个数字,输入第三个数字并按下<Enter>键后,输出计算结果。程序运行效果如下:
3.2 赋值运算符
赋值运算符主要用来变量赋值。使用时,可以直接把基本运算符”=”右边的值赋给左边的变量,也可以进行某些运算后再赋值给左边的变量。在python中常用的赋值运算符如下表所示:
运算符 | 说明 | 举例 | 展开形式 |
= | 简单的赋值运算 | X=y | X=y |
+= | 加赋值 | X+=y | X=x+y |
-= | 减赋值 | X-=y | X=x-y |
*= | 乘赋值 | X*=y | X=x*y |
/= | 除赋值 | X/=y | X=x/y |
%= | 取余数赋值 | X%=y | X=x%y |
**= | 幂赋值 | X**=y | X=x**y |
//= | 取整除赋值 | X//=y | X=x//y |
3.2.1 简单的赋值运算
在python中,使用简单赋值运算符”=”将变量名与 值或表达式连接起来,就可以实现简单的赋值运算,在实际开发中,简单的赋值运算经常会被使用。
例如,定义变量并为其赋值、改变变量的值等。
实例3.2 定义不同的类型值的变量
程序运行结果如下:
3.2.2 复合赋值运算
在实际开发中,经常会遇到将一个变量的值加上或减去某个值,再赋值给该变量的情况,如a=a+b。对这样的式子可以通过复合赋值运算符进行简化,简化后为a+=b。这里的”+=”就是复合赋值运算符。在3.1节中介绍的算术运算符都可以与”=”组合为复合赋值运算符。
程序运行结果为:
3.2.3 多重赋值
在python中国,有一种便利的技巧,即同时给多个变量赋值。例如,定义变量a,b,c,d,并且赋值值100,代码如下:
在使用多重赋值时,也可以同时为多个变量赋不同的值。例如,定义变量a,b,c,d,并且分别赋值为10,100,1000,10000,代码如下:
多重赋值还有一种很实用的功能,就是交换两个变量的赋值。例如,定义变量a,b,并且分别为其赋值为100和200,然后通过多重赋值实现将a和b的值交换。代码如下:
动手试一试2
任务1 求两个数的和、差、积、商
只使用赋值运算符实现求两个数的和、差、积、商。要求:只定义两个变量,并且在输出时还需要将计算的等式一同输出,程序运行效果如下:
任务2 编写一个程序,让用户输入密码是,要求把每次输入的密码保存到变量password中, 累加输入次数,当输入为6次后,输出每次输入的密码,并且退出程序,程序运行效果如下:
3.3 比较(关系)运算符
比较运算符,也称为关系运算符,用于对变量或表达式的结果进行大小、真假等比较,如果比较运算结果为真,则返回True,如果为假,则返回False,比较运算符通常用在条件语句中作为判断的依据。Python中的比较运算符如下表:
运算符 | 作用 | 举例 | 结果 |
> | 大于 | 1>2 | False |
< | 小于 | 1<2 | True |
= = | 等于 | 1= =1 | True |
!= | 不等于 | 1!=1 | False |
>= | 大于等于 | 1>=1 | True |
<= | 小于等于 | 1<=1 | true |
在python中,当需要判断一个变量是否介于两个值之间,可以采用”值1<变量<值2”的形式,例如”0<a<100”。
实例3.4 使用比较运算符比较大小关系
在IDEL中,定义3个变量,并分别使用python的各种比较运算符对它们的大小关系进行比较,代码如下:
程序运行结果是:
动手试一试3
任务1 《西游记》中有一个情节是”真假孙悟空”,其中,六耳猕猴变成孙悟空的模样,结果唐僧分辨不清,观音菩萨也分辨不清,最后被如来分辨出来。请编写一段python程序,输出真假孙悟空的情景,效果如图。(要求:孙悟空1为布尔类型,孙悟空2为数值型变量,再使用等于关系运算符判断孙悟空1和孙悟空2是否相等)
任务2 猪八戒和孙悟空互相PK
在《西游记》中,孙悟空会72般变化,而猪八戒只会36般变化。编写一段python代码,输出猪八戒PK孙悟空的结果和孙悟空PK猪八戒的结果。看看有什么不同。程序运行效果如下:
3.4 逻辑运算符
逻辑运算符是对真和假两种布尔值进行运算,运算后的结果仍是一个布尔值,python中的逻辑运算符主要包括and(逻辑与)、or(逻辑或)、not(逻辑非)。详细见下表:
运算符 | 含义 | 用法 | 结合方向 |
And | 逻辑与 | Op1 and op2 | 从左到右 |
Or | 逻辑或 | Op1 or op2 | 从左到右 |
Not | 逻辑非 | Not op | 从右到左 |
使用逻辑运算符进行逻辑运算时,其运算结果如下表:
表达式1 | 表达式2 | 表达式1 and 表达式2 | 表达式1 or 表达式2 | Not 表达式1 |
True | True | True | True | False |
True | False | False | True | False |
False | False | False | False | True |
False | True | False | True | True |
总结:
and逻辑与运算,只有两个或多个条件同时成立,返回值才是真,有一个表达式不成立,则返回为假。
Or逻辑或运算,只要有一个条件成立,则返回值为真。
not逻辑非,真或假互换。真的在逻辑非运算后,返回值为假,假的在逻辑非运算后,返回为真的。
实例 3.5 参加手机店的打折活动
在IDEL中,使用代码实现模拟手机店的打折活动,活动规则为:每周二的上午10点到11点和每周五的下午14点到15点,对某款手机进行折扣让利活动,代码如下:
按下快捷键<F5>运行实例,首先输入星期为”星期五”,然后输入时间为19,将显示如下图的效果:
再次运行实例, 输入星期为”星期二”,输入时间为10,将显示下图的效果:
动手试一试4
在一个大型的联欢会上,主持人要求观众根据自己的年级举手,主持人希望找到复合以下条件的观众:
✳年龄在7~9岁之间的观众
✳年龄是6岁或16岁的观众
程序运行结果为图所示:
计算机在解决某个问题时,主要有三种情形,分别是顺序执行所有的语句、选择执行部分语句、循环执行部分语句。
我们先来学习第一种程序结构,即顺序结构。
我们在生活中,总会遇到这样的情况,比如早上起来,我们总会先刷牙再洗脸最后吃早饭,我们每天都在重复地按照这个流程在做事,这种流程就叫做顺序流程。
而在编程中,所谓顺序结构就是当程序开始运行时,计算机会按照我们预先设计好的程序流程,从第一条语句开始执行,一直执行到最后一条语句。
上图是顺序结构的流程图。如果编写的程序没有错误,那么,先执行语句1,在执行语句2,如果还有语句3或者还有更多语句,那么计算机会按照这个顺序一直执行下去,直至没有语句才会结束运行。
例如,我们想让一只小海龟朝着右边走100个像素,再向左转90°,再走100个像素,再左转90°,再走100个像素,再左转90°,再走100个像素。程序如下图所示:
第一条语句:导入海龟绘图库;
第二条语句:让海龟向右移动100个像素;
第三条语句:让海龟左转90°;
第四条语句:让海龟向上移动100个像素;
第五条语句:让海龟左转90°;
第六条语句:让海龟向左移动100个像素;
第七条语句:让海龟左转90°;
第八条语句:让海龟向下移动100个像素。
计算机会按照这个顺序,顺序执行程序,从第一条导入语句开始执行一直执行到最后一条语句结束,就完成了绘制正方形的图形,图形如下图所示:
附录
转换字符
函数 | 说明 |
Int(x) | 将x转换为整数 |
Float(x) | 将x转换为浮点数 |
Str(x) | 将x转换为字符串 |
Round(x,ndigits) | 将X四舍五入,参数ndigits表示要留小数位数。 |
转义字符
转义字符 | 说明 | 转义字符 | 说明 |
\ | 续行符 | \” | 双引号 |
\n | 换行符 | \’ | 单引号 |
\0 | 空 | \\ | 一个反斜杠 |
\t | 制表位(空格) | \f | 换页 |
保留字(关键字)
And | As | Assert | Break | Class | Continue |
Def | Del | Elif | Else | Except | Finally |
For | From | False | Global | If | Import |
In | Is | Lambda | Nonlocal | Not | None |
Or | Pass | Raise | Return | Try | True |
While | With | Yield | __peg_parser__ | Import | Async |
单词表
| /prɪnt/ | Assert |
|
Input | /ˈɪnpʊt/ | Break |
|
Python | /ˈpaɪθɑːn/ | Class |
|
Stack |
|
|
|
Int |
|
|
|
Float |
|
|
|
String |
|
|
|
Round |
|
|
|
And |
|
|
|
As |
|
|
|
Global |
|
|
|
Import |
|
|
|
Is |
|
|
|
Nonlocal |
|
|
|
None |
|
|
|
Pass |
|
|
|
Return |
|
|
|
True |
|
|
|
With |
|
|
|
Async |
|
|
|
Turtle |
|
|
|
backward |
|
|
|
left |
|
|
|
Dot |
|
|
|