Python程序设计基础高职PPT完整全套教学课件_第1页
Python程序设计基础高职PPT完整全套教学课件_第2页
Python程序设计基础高职PPT完整全套教学课件_第3页
Python程序设计基础高职PPT完整全套教学课件_第4页
Python程序设计基础高职PPT完整全套教学课件_第5页
已阅读5页,还剩737页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

模块一Python概述Python概述Python语言基础Python函数和高级特征Python函数式编程和模块Python的面向对象编程Python应用开发网络编程之爬虫应用Python数据分析全套PPT课件什么是Python?如何搭建Python的简单开发环境?了解Python的基本语法。学习要点1.11.21.31.4初识Python进入Python的世界Python基本语法实训:配置Python开发环境01初识Python1.1初识PythonPython是一种面向对象的解释型计算机程序设计语言,由荷兰人GuidovanRossum于1989年发明,第一个公开发行版发行于1991年。Python是纯粹的自由软件,源代码和解释器CPython遵循GPL(GNUGeneralPublicLicense)协议。Python语法简洁清晰,特色之一是强制用空白符(whitespace)作为语句缩进。Python具有丰富和强大的库。它常被称为“胶水语言”,能够把用其他语言(尤其是C/C++)制作的各种模块很轻松地连接在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分用更合适的语言改写,如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是,在使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。1.1.1什么是Python1.1初识PythonPython具有如下一些特点。(1)简单。Python是一种代表简单思想的语言。(2)易学。Python有极其简单的语法。(3)免费、开源。Python是FLOSS(自由/开放源码软件)之一。(4)高层语言。使用Python编写程序时无须考虑如何管理程序使用的内存一类的底层细节。(5)可移植性。Python已被移植到很多平台,这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、PalmOS、QNX、VMS、Psion、RISCOS、VxWorks、PlayStation、SharpZaurus、WindowsCE甚至还有PocketPC。1.1.2Python的特点1.1初识Python(6)解释性。可以直接从源代码运行。在计算机内部,Python解释器把源代码转换为字节码的中间形式,然后把它翻译成计算机使用的机器语言。(7)面向对象。Python既支持面向过程编程,也支持面向对象编程。(8)可扩展性。部分程序可以使用其他语言编写,如C/C++。(9)可嵌入性。可以把Python嵌入C/C++程序中,从而提供脚本功能。(10)丰富的库。Python标准库很庞大。它可以帮助用户处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XMLRPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。1.1.2Python的特点

1.过程概述Python先把代码(“.py”文件)编译成字节码,交给字节码虚拟机,然后虚拟机一条一条执行字节码指令,从而完成程序的执行。

2.字节码字节码在Python虚拟机程序中对应的是PyCodeObject对象,“.pyc”文件是字节码在磁盘上的表现形式。1.1初识Python1.1.3Python的运行过程02进入Python的世界语言解释器是一个轻量级的小尺寸软件,可以在Python语言主网站上下载(文件大小为25~30MB),下载网址为:https://www.P/downloads/。对于初学者来说,建议采用3.5或之后的版本。注意:Python提供了不同操作系统版本,包括Windows操作系统版本、Linux操作系统版本、Mac操作系统版本及其他操作系统版本,本教程以Windows操作系统版本为例进行介绍。1.2进入Python的世界1.2.1下载PythonPython

这里以3.6.5(64位)版本为例进行介绍,具体安装过程如下。(1)双击所下载的Python安装程序,弹出图1-1所示的窗口,在该对话框中,选中“AddPython3.6toPATH”复选框。图1-1安装启动窗口1.2进入Python的世界1.2.2安装Python(2)在图1-1所示的窗口中有两个安装选项,一个是根据软件默认安装设置进行安装,另一个是根据自定义设置安装。这里单击“Customizeinstallation”自定义安装,随即进入“OptionalFeatures”窗口,如图1-2所示。图1-2“OptionalFeatures”窗口1.2进入Python的世界1.2.2安装Python(3)在“OptionalFeatures”窗口中选中要安装的选项对应的复选框,这里选中所有的复选框,然后单击Next按钮,弹出“AdvancedOptions”对话框,如图1-3所示。(4)在“AdvancedOptions”对话框中根据需要设置安装路径和相关选项,然后单击Install按钮程序将开始安装,如图1-4所示。图1-3“AdvancedOptions”对话框1.2进入Python的世界1.2.2安装Python图1-4“SetupProgress”对话框1.2进入Python的世界1.2.2安装Python图1-5“Setupwassuccessful”对话框(5)安装完成,弹出“Setupwassuccessful”对话框,如图1-5所示,单击Close按钮完成安装。Python安装包将在系统中安装一批与Python开发和运行相关的程序,其中最重要的两个是Python命令行和Python集成开发环境(IDLE)。1.2进入Python的世界1.2.2安装Python

1.2.3执行Python脚本文件运行Python程序有两种方式:交互式和文件式。交互式指Python解释器即时响应用户输入的每条代码,给出输出结果。文件式也称批量式,指用户将Python程序写在一个或多个文件中,然后启动Python解释器批量执行文件中的代码。下面分别以这两种方式来编写并运行HelloWorld程序。

1.交互式启动和运行方法交互式有两种启动和运行方法。第一种方法,启动Windows操作系统命令行工具(<Windows系统安装目录>\system32\cmd.exe),在控制台中输入python并按Enter键,然后在命令提示符>>>后输入如下程序代码:print("HelloWorld")按Enter键后显示输出结果“HelloWorld”,如图1-6所示。在>>>提示符后输入exit()或者quit()并按Enter键可以退出Python运行环境。1.2进入Python的世界1.2.3执行Python脚本文件图1-6通过命令行启动交互式Python运行环境1.2进入Python的世界1.2.3执行Python脚本文件第二种方法,通过调用安装的IDLE来启动Python运行环境。IDLE是Python软件包自带的集成开发环境,可以在Windows“开始”菜单中搜索关键词“IDLE”找到IDLE的快捷方式。如图1-7所示,展示了IDLE中运行HelloWorld程序的效果。图1-7通过IDLE启动交互式Python运行环境1.2进入Python的世界1.2.3执行Python脚本文件

2.文件式启动和运行方法与交互式相对应,文件式也有两种运行方法。第一种方法,按照Python的语法格式编写代码,并保存为“.py”形式的文件(以“HelloWorld”程序为例,将代码保存成文件hello.py)。Python代码可以在任意编辑器中编写,对于百行以内的代码,建议使用Python安装包中的IDLE编辑器或第三方开源记事本增强工具Notepad++。然后,打开Windows的命令行窗口(cmd.exe),使用cd命令进入hello.py文件所在目录,运行Python程序文件获得输出。第二种方法,打开IDLE,按Ctrl+N快捷键打开一个新窗口,或在菜单中选择“File”→“NewFile”选项。这个新窗口不是交互模式,它是一个具备Python语法高亮辅助的编辑器,可以进行代码编辑。在其中输入Python代码。例如,输入“HelloWorld”程序并保存为hello.py文件。按F5键或在菜单中选择“Run”→“RunModule”选项运行该文件。1.2进入Python的世界1.2.3执行Python脚本文件

3.启动和运行方法推荐标识符共有四种Python程序运行方法,其中,最常用且最重要的是采用IDLE的文件式方法。IDLE是一个简单且有效的集成开发环境,无论交互式或文件式,都有助于快速编写和调试代码,它是小规模Python软件项目的主要编写工具。本教程所有程序都可以通过IDLE编写并运行。行文方面,对于单行代码或通过观察输出结果讲解少量代码的情况,本教程采用IDLE交互式(由>>>开头)进行描述;对于讲解整段的情况,采用IDLE文件式。1.2进入Python的世界1.2.3执行Python脚本文件03Python基本语法

1.3.1Python标识符标识符是开发人员在程序中自定义的一些符号和名称,如变量名、函数名等。标识符规则:由字母、数值和下划线组成且不能以数字开头,Python中的标识符是区分大小写的。命名规则:见名知意。起一个有意义的名字,尽量做到看一眼就知道是什么意思(提高代码可读性)。例如,名字就定义为name,学生就定义为student。1.3Python基本语法1.3.1Python标识符Python3.6.5中的保留字符为33个(Python3.7.0版本中的保留字符增加到了35个),如表1-1所示。自定义的标识符要避免和保留字符相同。1.3Python基本语法1.3.2Python保留字符1.3Python基本语法1.3.2Python保留字符1.3Python基本语法1.3.2Python保留字符Python的保留字符可以用如下的命令查看。>>>importkeyword>>>keyword.kwlist1.3Python基本语法1.3.2Python保留字符结果如图1-8所示。图1-8查看Python的保留字符1.3Python基本语法1.3.2Python保留字符在Python中,逻辑行行首的空白是有规定的,逻辑行行首的空白不对,就会导致程序执行出错。这是与其他语言的一个很重要的不同点。缩进的空白是有要求的,下面是一些缩进的方法。(1)一般情况下逻辑行行首不应该出现空白。(2)if语句的缩进方法。(3)while循环的缩进方法。具体的缩进方法如下所示。#一般情况下,行首不应该出现空白importsys#缩进的方法有两种,可以按空格,也可以按Tab键#if语句的缩进方法a=7ifa>0:print"hello"#前面的空格是按Tab键1.3Python基本语法1.3.3Python行和缩进#while语句的缩进方法a=0whilea<7:printa#前面的空格是按Tab键a+=1#前面的空格是按Tab键1.3Python基本语法1.3.3Python行和缩进Python中有逻辑行与物理行之分,其区别如下所述。

#以下是3个物理行

print("abc")

print("789")

print("777")

#以下是1个物理行,3个逻辑行

print("abc");print("789");print("777")

#以下是1个逻辑行,3个物理行

print("我其实\

是一个\

逻辑行")在Python中,一个物理行一般可以包含多个逻辑行,在一个物理行中可以编写多个逻辑行时,逻辑行与逻辑行之间用分号隔开。每个逻辑行的后面必须有一个分号,但是在编写程序时,如果一个逻辑行占了一个物理行的最后,这个逻辑行可以省略分号。将一个逻辑行分别写在多个物理行中,行连接的方法是在行的最后加上一个“\”。1.3Python基本语法1.3.4Python多行语句Python中的引号有如下两个作用。(1)表示多行注释。一对三个单引号或双引号表示多行注释。(2)用于定义字符串。①单引号字符串:’abc’。②双引号字符串:"abc"。②三引号字符串:’’’abc’’’(三单引号),"""abc"""(三双引号)。总结:(1)单引号内可以使用双引号,中间的内容会当作字符串打印。(2)双引号内可以使用单引号,中间的内容会当作字符串打印。(3)三单引号和三双引号中间的字符串在输出时会保持原来的格式。(4)引号无论单双都是成对出现的,当字符串需要加入引号时,可采用单引号与双引号互相嵌套使用。(5)Python支持单引号,因为在某些场景下需要用到单引号,要么用“\”转义符转义(如果代码中有一大堆转义符,肯定会很难看,Python很好地解决了这个问题),要么外加一对双引号,如果是双引号,则外加一对单引号。1.3Python基本语法1.3.5Python引号

这里只介绍标准Python输入与输出。

1.打印到屏幕输出的最简单方法是使用print语句,可以用逗号分隔零个或多个表达式,如下面的代码所示。print("Pythonisreallyagreatlanguage,","isn’tit?")这将产生以下结果。Pythonisreallyagreatlanguage,isn’tit?1.3Python基本语法1.3.6Python输入与输出2.读取键盘输入Python2中有两个内置的函数可从标准输入(默认来自键盘)读取数据,这两个函数分别是input()和raw_input()。但在Python3中,raw_input()函数已被弃用。此外,input()函数从键盘读取的数据是作为字符串来处理的,不论是否使用引号(’’或"")。示例:

x=input("请输入x=")

请输入x=111

y=input("请输入y=")

请输入y=222

z=x+y

print("x+y="+z)

运行结果如下。

x+y=1112221.3Python基本语法1.3.6Python输入与输出可以看到input的返回值永远是字符串,当需要返回int型时需要使用int(input())的形式。例如:

x=int(input("请输入x="))

请输入x=111

y=int(input("请输入y="))

请输入y=222

z=x+y

print("x+y=",z)

运行结果如下。

x+y=3331.3Python基本语法1.3.6Python输入与输出

3.格式化输出一般来说,我们希望更多地控制输出格式,而不是简单地以空格分割。这里有两种方式。第一种是由用户自己控制。使用字符串切片、连接操作及字符串包含的一些有用的操作。示例:>>>forxinrange(1,11):print(str(x).rjust(2),str(x*x).rjust(3),end=‘’)print(str(x*x*x).rjust(4))1.3Python基本语法1.3.6Python输入与输出输入完成后,按两次Enter键,输出结果如下。111248392741664525125636216749343864512981729101001000在第一种方式中,字符串对象的str.rjust()方法的作用是将字符串靠右,并默认在左边填充空格,所占长度由参数指定,类似的方法还有str.ljust()和str.center()。这些方法并不会写任何东西,它们仅仅返回新的字符串,如果输入很长,它们并不会截断字符串。第二种是使用str.format()方法。用法:通过{}和:来代替传统%方式。1.3Python基本语法1.3.6Python输入与输出

(1)使用位置参数。

要点:从以下例子可以看出位置参数不受顺序约束,且可以为{},只要format里有相对应的参数值即可,参数索引从0开始,传入位置参数列表可用*列表的形式。>>>li=[’hoho’,18]>>>‘mynameis{},age{}’.format(‘hoho’,18)‘mynameishoho,age18’>>>‘mynameis{1},age{0}’.format(10,’hoho’)‘mynameishoho,age10’>>>‘mynameis{1},age{0}{1}’.format(10,’hoho’)‘mynameishoho,age10hoho’>>>‘mynameis{},age{}’.format(*li)‘mynameishoho,age18’1.3Python基本语法1.3.6Python输入与输出(2)使用关键字参数。要点:关键字参数值要对得上,可用字典当关键字参数传入值,字典前加**即可。1.3Python基本语法1.3.6Python输入与输出(3)填充与格式化。格式:{0:[填充字符][对齐方式<^>][宽度]}.format()。1.3Python基本语法1.3.6Python输入与输出(4)精度与进制。1.3Python基本语法1.3.6Python输入与输出(5)使用索引。1.3Python基本语法1.3.6Python输入与输出04实训:配置Python开发环境PyCharm提供免费的社区版与付费的专业版。专业版额外增加了一些功能,如项目模板、远程开发、数据库支持等。个人学习Python使用免费的社区版已足够。PyCharm社区版下载地址:/pycharm/download/。1.4实训:配置Python开发环境1.4.1下载Python集成开发环境PyCharm下载Python集成开发环境PyCharm后,可按照如下步骤进行安装。(1)按照1.2中所示的内容,下载并安装好Python。(2)双击PyCharm的安装程序pycharm-community-2016.2.3.exe,进入安装界面,如图1-9所示。图1-9PyCharm的安装界面1.4实训:配置Python开发环境1.4.2安装PyCharmCommunityEdition(3)单击Next按钮,在弹出的“ChooseInstallLocation”对话框中选择安装PyCharm的路径,如图1-10所示。图1-10选择安装路径1.4实训:配置Python开发环境1.4.2安装PyCharmCommunityEdition(4)单击Next按钮,进入图1-11所示的“InstallationOptions”对话框,根据需要选中相应复选框,在“Createassociations”选项组中可选中“.py”复选框,则以后打开“.py”文件就会用PyCharm打开。图1-11“InstallationOptions”对话框1.4实训:配置Python开发环境1.4.2安装PyCharmCommunityEdition(5)设置完成,单击Next按钮,根据安装向导保持默认设置,直到出现图1-12所示的对话框,单击Finish按钮完成安装。图1-12安装完成1.4实训:配置Python开发环境1.4.2安装PyCharmCommunityEdition(1)安装软件后,运行PyCharm,选择“File”→“NewProject”选项开始创建第一个项目,如图1-13所示。图1-13“CreateProject”对话框1.4实训:配置Python开发环境1.4.3PyCharm的使用步骤(2)在左侧导航栏中选择“PurePython”选项,单击Location文本框右侧的按钮,在弹出的对话框中选择项目的路径,在Interpreter下拉列表框中选择Python版本,这里直接使用Python的安装路径即可。(3)选择完成后,单击Create按钮,进入图1-14所示的窗口。这时就可以创建文件了,这里以刚刚创建的untitled1文件夹为例,右击untitled1,在弹出的快捷菜单中选择“New”→“PythonFile”选项,如图1-14所示。1.4实训:配置Python开发环境1.4.3PyCharm的使用步骤图1-14新建文件1.4实训:配置Python开发环境1.4.3PyCharm的使用步骤图1-15“NewPythonfile”对话框(4)随即弹出图1-15所示的对话框。1.4实训:配置Python开发环境1.4.3PyCharm的使用步骤图1-16选择Run‘zb’选项(5)在Name文本框中输入文件名,单击OK按钮之后写下“print(‘hello,world’)”,然后在界面中右击,并在弹出的快捷菜单中选择“Run‘zb’”选项,如图1-16所示。1.4实训:配置Python开发环境1.4.3PyCharm的使用步骤图1-17执行结果(6)随即出现图1-17所示的结果。1.4实训:配置Python开发环境1.4.3PyCharm的使用步骤图1-18运行脚本(7)对于同一个脚本,第一次运行,可右击脚本名称并在弹出的快捷菜单中选择“Run×××”选项,以后运行脚本可以直接单击右上角或者左下角的三角按钮运行,如图1-18所示。1.4实训:配置Python开发环境1.4.3PyCharm的使用步骤1.4实训:配置Python开发环境注意:更改文件后,单击三角按钮运行项目和启用快捷键运行项目时,其结果不会随着内容改变而自动更改,所以常会运行错误的文件而未发现。推荐第一次运行使用右键的方式,将脚本切换之后再使用单击三角按钮的方式运行。注意模块二Python语言基础2.12.22.32.4Python数据类型字符串和编码Python运算符及其优先级控制语句2.5合理使用list、tuple、dict和set2.6实训:统计一段文字中的字母、空格和数字的个数什么是Python?如何搭建Python的简单开发环境?了解Python的基本语法。Python有哪些数据类型?Python的字符串如何应用?Python有哪些运算符及其优先顺序如何?Python的控制语句如何使用?合理使用list、tuple、dict和set。学习要点01Python数据类型2.1Python数据类型1.整型int整型是没有小数部分的数字,如-5、-4、-3、0、7、9等。在Python中声明一个整型,仅需要写成如下的形式。variableName=initialvalue例如:num=20,userAge=18在大多数32位机器上,标准整型变量的取值范围为-2147483648~2147483647。除了可以用十进制表示整型数据外,还可以用八进制和十六进制来表示。八进制整数以“0o”开始,十六进制整数以“0x”或“0X”开始。例如:x=0o75y=0x7a2.1.1简单数据类型2.1Python数据类型2.浮点型float浮点型表示的是带有小数点部分的数字,如1.234、-0.05、11.25等。在Python中声明一个浮点型,可以这样写:variableName=initialvalue例如:price=2.55,userWeight=88.93.字符串str字符串表示的是文本。为了表示一个字符串的值,需要用单引号('')或双引号("")括起来。例如:userName="张三",password="123456",userAge='30‘在最后一个例子中,写的是userAge='30',因此userAge是一个字符串,相反,如果用户写的是userAge=30,那么userAge是一个整数。可以使用连接符号(+)来连接多个子字符串,如"Hello"+"world"等于字符串"Helloworld"。2.1.1简单数据类型2.1Python数据类型4.长整型long长整型是整型的超集。在一个整型值后面加上一个L(大写或小写都可以,但推荐使用大写,避免和数字1混淆),表示这个整数是长整数。同整型一样,这个数可以是十进制、八进制或十六进制。例如:dLong=8888888888888888888888888888888888888888888888LoLong=0777777777777777777777777777777777777777777777LhLong=0XFFFFFFFFFFFFFFFFFAAAAAAAAAAAAABBBBBBBBBB78L5.布尔型bool该值的取值只有两个:True(1)和False(0)。例如:Tbool=TrueFbool=False2.1.1简单数据类型2.1Python数据类型6.空值NonePython有一个特殊的空值常量None。与0和空字符串("")不同,None表示什么都没有;None与任何其他数据类型比较永远返回False。2.1.1简单数据类型2.1Python数据类型1.变量是什么在程序运行过程中,值可以不断变化的量即为变量。例如:x=3;x=2*x;在上述程序段中,x的初值为3,后更新为2*x,即为6(事实上,x的值还可以持续更改下去),x即为整型变量。程序中每个变量都需要一个名字(如上述x即为变量名)来识别它,Python中变量名的命名规则为:变量名可以是数字、字母、下划线的组合,其中不能以数字作为开头;Python的关键字不能用作变量名,且变量名要尽量有意义(见名知义)。2.1.2变量与常量2.1Python数据类型2.常量是什么与变量相反,在程序运行过程中,值不能被修改的量即为常量。Python中没有专门定义常量的方式,通常使用大写变量名表示,仅仅是一种提示效果。例如:NAME='tony‘其本质还是变量。Python常量包括数字、字符串、布尔值和空值。2.1.2变量与常量2.1Python数据类型使用注释主要有以下两方面的原因。(1)方便自己查看写过的代码。(2)为了能更好地维护项目,需要适当写注释。注释的内容对程序的运行结果没有影响。Python中的注释分为单行注释和批量、多行注释。1.单行注释(#)Python中的单行注释以#开头。例如:#thisisacomment2.1.3Python的注释2.1Python数据类型2.批量、多行注释("""或''')Python的批量、多行注释用三引号包含要注释的内容,可以是三个单引号,也可以是三个双引号。例如:'''Python代码行1Python代码行2Python代码行3'''"""Python代码行1Python代码行2Python代码行3"""2.1.3Python的注释02字符串和编码2.2字符串和编码字符编码(characterencoding)是将字符集中的字符码映射为字节流的一种具体实现方案,常见的字符编码有ASCII编码、UTF8编码、GBK编码等。从某种意义上来说,字符集与字符编码有种对应关系。例如,ASCII字符集对应有ASCII编码。ASCII字符编码规定使用单字节中低位的7比特去编码所有的字符。例如,"A"的编号是65,用单字节表示就是0x41,因此写入存储设备时就是b'01000001‘。编码的过程是将字符转换成字节流,解码的过程是将字节流解析为字符。Python的字符编码有ASCII码、多字节字符编码GBK、Unicode编码及UTF-8编码(详细内容请查看相关资料)。从严格意义上来讲,Unicode才是真正的字符串,而用ASCII、UTF8、GBK等字符编码表示的是字节串。Unicode字符串可以与任意字符编码的字节进行相互转换,如图2-1所示。2.2.1字符编码概述2.2字符串和编码图2-1Unicode编码与其他编码相互转换2.2.1字符编码概述2.2字符串和编码Python2的默认编码是ASCII,不能识别中文字符,需要显式指定字符编码;Python3的默认编码为Unicode,可以识别中文字符,而且它已经实现了对Unicode的内置支持,从这方面来讲,Python已经和Java一样优秀。

2.2.1字符编码概述2.2字符串和编码前面已经提到过,字符串是单引号或双引号括起来的一串字符。此处重点讲解有关字符串的运算。1.转义字符转义字符及其描述如表2-1所示。2.2.2Python的字符串2.2字符串和编码2.Python字符串运算符在表2-2中,变量a的值为字符串"Hello",变量b的值为"Python",各运算符运算规则及结果如表中所示。2.2.2Python的字符串2.2字符串和编码【例2-1】Python字符串运算。a="hello"b="world"print(a+b)print(a*2)print(a[2])print(a[1:4])if("h"ina):print("h在变量a中")else:print("h不在变量a中")if("H"notina):print("H不在变量a中")else:print("H在变量a中")2.2.2Python的字符串2.2字符串和编码执行结果如下。helloworldhellohellolellh在变量a中H不在变量a中2.2.2Python的字符串2.2字符串和编码3.Python中的格式化字符在Python中会遇到一个问题,即如何输出格式化的字符串。我们经常会输出类似“亲爱的×××你好!你××月的话费是××,余额是××”之类的字符串,而×××的内容都是根据变量变化的,所以,需要一种简便的格式化字符串的方式。在Python中,用%实现字符串的格式化。语法:%s%字符串例如,“\>>>'Hello,%s'%'world'”运行结果如下。'Hello,world‘再如,“\>>>'Hi,%s,youhaveMYM%d.'%('Mary',1000)”运行结果如下。'Hi,Mary,youhaveMYM1000.‘在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%占位符,后面就跟几个变量或值,顺序要对应好。如果只有一个%,那么括号可以省略。字符串格式化符号如表2-3所示。2.2.2Python的字符串2.2字符串和编码2.2.2Python的字符串03Python运算符及其优先级2.3Python运算符及其优先级2.3.1算术运算符本节主要说明Python运算符及优先级。例如,5+8=13。其中,5和8被称为操作数,“+”被称为运算符。Python语言支持以下类型的运算符。(1)算术运算符。(2)比较(关系)运算符。(3)赋值运算符。(4)逻辑运算符。(5)成员运算符。(6)身份运算符。2.3Python运算符及其优先级2.3.1算术运算符Python的算术运算符主要完成操作数的算术运算,包括加、减、乘、除、幂、取整等,具体描述及实例如表24所示(表中实例,假设变量a为10,b为21)。2.3Python运算符及其优先级2.3.1算术运算符【例2-2】Python算术运算。a=10b=21print(a+b)print(ab)print(a*b)print(b/a)print(b%a)print(a**b)print(9//2)print(9.0//2.0)执行结果如下。31-112102.11100000000000000000000044.02.3Python运算符及其优先级2.3.2比较运算符比较运算符主要完成操作数的比较计算,比较的结果通常是一个逻辑量(True或False)。Python的比较运算符描述及实例如表2-5所示。2.3Python运算符及其优先级2.3.2比较运算符2.3Python运算符及其优先级2.3.2比较运算符【例2-3】Python比较运算。a=3b=3print(a==b)a=1print(a!=b)a=7print(a>b)print(a<b)a=3print(a>=b)print(a<=b)执行结果如下。TrueTrueTrueFalseTrueTrue2.3Python运算符及其优先级2.3.3赋值运算符赋值运算符“=”表示将右侧的值赋给左侧的变量或表达式。除简单的赋值运算符外,Python还提供了复合的赋值运算符,见表2-6。赋予a和b确定的数值,则上述实例的运行结果如例2-4所示。2.3Python运算符及其优先级2.3.3赋值运算符【例2-4】Python赋值运算。a=22b=11c=0c=a+bprint("1-c的值为:",c)c+=aprint("2-c的值为:",c)c*=aprint("3-c的值为:",c)c/=aprint("4-c的值为:",c)c%=aprint("5-c的值为:",c)c**=aprint("6-c的值为:",c)c//=aprint("7-c的值为:",c)执行结果如下。1-c的值为:332-c的值为:553-c的值为:12104-c的值为:55.05-c的值为:26-c的值为:41943047-c的值为:1906502.3Python运算符及其优先级2.3.4逻辑运算符逻辑运算符用于将两个变量或表达式进行逻辑运算。Python的逻辑运算符有与、或、非三种,见表2-7。2.3Python运算符及其优先级2.3.4逻辑运算符【例2-5】Python逻辑运算。a=22b=11print(aandb)print(aorb)print(nota)print(notb)执行结果如下。1122FalseFalse2.3Python运算符及其优先级2.3.5成员运算符除了上述运算符之外,Python还支持成员运算符,用于测试实例中是否包含了一系列成员,包括字符串、列表或元组。Python的成员运算符描述及实例见表2-8。2.3Python运算符及其优先级2.3.5成员运算符【例2-6】Python成员运算。a=11b=22list=[1,2,3,4,5];if(ainlist):print(“1-变量a在给定的列表list中")else:print("1-变量a不在给定的列表list中")if(bnotinlist):print("2-变量b不在给定的列表list中")else:print("2-变量b在给定的列表list中")#修改变量a的值a=2if(ainlist):print("3-变量a在给定的列表list中")else:print("3-变量a不在给定的列表list中")执行结果如下。1-变量a不在给定的列表list中2-变量b不在给定的列表list中3-变量a在给定的列表list中2.3Python运算符及其优先级2.3.6身份运算符身份运算符用于比较两个对象的存储单元,即判断两个标识符是否引自同一个对象,见表2-9。2.3Python运算符及其优先级2.3.6身份运算符【例2-7】Python身份运算。a=22b=22if(aisb):print("1-a和b有相同的标识")else:print("1-a和b没有相同的标识")if(aisnotb):print("2-a和b没有相同的标识")else:print("2-a和b有相同的标识")#修改变量b的值b=30if(aisb):print("3a和b有相同的标识")else:print("3-a和b没有相同的标识")if(aisnotb):print("4-a和b没有相同的标识")else:print("4-a和b有相同的标识")2.3Python运算符及其优先级2.3.6身份运算符执行结果如下。1-a和b有相同的标识2-a和b有相同的标识3-a和b没有相同的标识4-a和b没有相同的标识2.3Python运算符及其优先级2.3.7运算符的优先级表2-10列出了Python运算符的优先级。表格中自上至下优先级逐渐降低。04控制语句2.4控制语句2.4.1条件语句Python语言中的流程控制语句分为三种,分别是顺序语句、条件语句和循环语句。其中,顺序语句不需要单独的关键字来控制,就是一行行地执行,不需要进行特殊说明。这里主要介绍条件语句和循环语句。图2-2条件语句的执行流程2.4控制语句2.4.1条件语句Python语言指定任何非0和非空(null)值为True,0或者null为False。Python编程中的if语句用于控制程序的执行,其形式主要有以下两种。1.基本形式if判断条件:执行语句……else:执行语句……

其中“判断条件”成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示不同范围。else为可选语句,当条件不成立时可以执行相关语句。2.4控制语句2.4.1条件语句【例2-8】if语句的基本形式。score=88if(score>=60):print("通过了考试,恭喜你!")else:print("还需要多多努力!!")执行结果如下。通过了考试,恭喜你!2.4控制语句2.4.1条件语句2.判断条件为多个值时当判断条件为多个值时,可以使用以下形式。if判断条件1:执行语句1……elif判断条件2:执行语句2……elif判断条件3:执行语句3……else:执行语句4……

当某一个判断条件成立时,执行其相应的语句,如此可以完成更加强大的功能。2.4控制语句2.4.1条件语句【例2-9】多分支的if语句。score=88if(score>=90):print("成绩为优秀")elif(score>=80):print("成绩为良好")elif(score>=70):print("成绩为中等")elif(score>=60):print("通过了考试,恭喜你!")else:print("还需要多多努力!!")执行结果如下。成绩为良好2.4控制语句2.4.1条件语句由于Python并不支持switch语句,所以多个条件判断只能用elif来实现,如果需要同时判断多个条件,可以使用or(或),表示两个条件有一个成立时判断条件成功;使用and(与)时,表示只有两个条件同时成立,判断条件才成功。2.4控制语句2.4.2循环语句循环语句允许多次执行一个语句或语句组,图2-3所示为在大多数编程语言中循环语句的执行流程。从图中可以看出,当if条件成立时,循环体语句将会反复被执行,直到条件为假时才结束。Python提供了while循环和for循环(在Python中没有do…while循环)图2-3循环语句的执行流程2.4控制语句2.4.2循环语句1.while循环语句Python编程中的while语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其形式有以下两种。1)基本形式while判断条件:执行语句……执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零或非空(null)的值均为True。当判断条件为False时,循环结束。2.4控制语句2.4.2循环语句【例2-10】while循环语句。count=0while(count<9):print("Thecountis:",count)count=count+1print("Hello",count)执行结果如下。Thecountis:0Thecountis:1Thecountis:2Thecountis:3Thecountis:4Thecountis:5Thecountis:6Thecountis:7Thecountis:8Hello9在上述程序中,当count值为9时,循环条件为假,循环体语句结束执行。2.4控制语句2.4.2循环语句2)while…else在while循环语句中,还可以使用while…else结构,在循环条件为False时执行else语句块。【例2-11】while…else循环语句。count=0whilecount<5:print(count,"islessthan5")count=count+1else:print(count,"isnotlessthan5")执行结果如下。0islessthan51islessthan52islessthan53islessthan54islessthan55isnotlessthan52.4控制语句2.4.2循环语句2.for循环语句for循环可以遍历任何序列的项目,如一个列表或一个字符串。for循环的语法格式如下。foriterating_varinsequence:statements(s)图2-4所示为for循环语句的执行流程。图2-4for循环语句的执行流程2.4控制语句2.4.2循环语句【例2-12】for循环语句。forletterin'Python':print("当前字母:",letter)fruits=['banana','apple','mango']forfruitinfruits:print("当前水果:",fruit)print("Goodbye!")执行结果如下。当前字母:P当前字母:y当前字母:t当前字母:h当前字母:o当前字母:n当前水果:banana当前水果:apple当前水果:mangoGoodbye!另外一种执行循环的遍历方式是通过索引。2.4控制语句2.4.2循环语句【例2-13】索引方式遍历for循环。fruits=['banana','apple','mango']forindexinrange(len(fruits)):print("当前水果:",fruits[index])print("Goodbye!")执行结果如下。当前水果:banana当前水果:apple当前水果:mangoGoodbye!2.4控制语句2.4.2循环语句3.break语句Python中的break语句就像其他语言中的break语句,打破了最小封闭for或while循环。break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。break语句用在while和for循环中。如果使用嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码。Python语言中break语句的语法如下。break示例如下。2.4控制语句2.4.2循环语句【例2-14】break语句。forletterin'Python':ifletter=='h':breakprint('当前字母:',letter)执行结果如下。当前字母:P当前字母:y当前字母:t2.4控制语句2.4.2循环语句4.continue语句在Python中,break语句跳出整个循环,而continue语句跳出本次循环。continue语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。continue语句同样用在while和for循环中。Python语言中continue语句的语法格式如下。continue示例如下。2.4控制语句2.4.2循环语句【例2-15】continue语句。forletterin'Python':ifletter=='h':continueprint('当前字母:',letter)执行结果如下。当前字母:P当前字母:y当前字母:t当前字母:o当前字母:n2.4控制语句2.4.3pass语句在Python中,pass是空语句,其目的是保持程序结构的完整性。pass不做任何事情,一般用作占位语句。pass语句的语法格式如下。pass示例如下。2.4控制语句2.4.3pass语句【例2-16】pass语句。forletterin'Python’:ifletter=='h’:passprint('这是pass块’)print('当前字母:',letter)print("Goodbye!")执行结果如下。当前字母:P当前字母:y当前字母:t这是pass块当前字母:h当前字母:o当前字母:nGoodbye!05合理使用list、tuple、dict和set2.5合理使用list、tuple、dict和set2.5.1list列表的运用序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字作为它的位置或索引,第一个索引是0,第二个索引是1,以此类推。Python有6个序列的内置类型,但最常见的是列表和元组。列表是最常用的Python数据类型,它可以将若干数值存放于一个方括号内,以逗号作为分隔。列表的数据项不需要具有相同的类型。创建一个列表,只要使用方括号把用逗号分隔的不同的数据项括起来即可,如下所示。list1=['physics','chemistry',1997,2000]list2=[1,2,3,4,5]list3=["a","b","c","d"]与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。表2-11中列出的是Python列表脚本操作符。2.5合理使用list、tuple、dict和set2.5.1list列表的运用2.5合理使用list、tuple、dict和set2.5.1list列表的运用1.访问列表中的元素使用下标索引来访问列表中的值,同样也可以使用方括号的形式截取字符,如下所示。【例2-17】访问列表元素。list1=['physics','chemistry',1997,2000]list2=[1,2,3,4,5,6,7]print("list1[0]:",list1[0])print("list2[1:5]:",list2[1:5])执行结果如下。list1[0]:physicslist2[1:5]:[2,3,4,5]2.5合理使用list、tuple、dict和set2.5.1list列表的运用2.更新列表中的元素用户可以对列表中的数据项进行修改或更新,也可以使用append()方法来添加列表项,如下所示。【例2-18】更新列表元素。list=[]##空列表list.append('Google')##使用append()方法添加元素list.append('OK')print(list)执行结果如下。['Google','OK']2.5合理使用list、tuple、dict和set2.5.1list列表的运用3.删除列表中的元素可以使用del语句来删除列表的元素,如下所示。【例2-19】删除列表元素。list1=['Hello','Python',1997,2018]print(list1)dellist1[2]print("Afterdeletingvalueatindex2:")print(list1)执行结果如下。['Hello','Python',1997,2018]Afterdeletingvalueatindex2:['Hello','Python',2018]2.5合理使用list、tuple、dict和set2.5.2tuple元组的运用Python的元组与列表类似,不同之处在于:元组的元素不能修改;元组使用小括号,列表使用方括号。元组的创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。如下所示。tup1=('physics','chemistry',1997,2018)tup2=(1,2,3,4,5)tup3="a","b","c","d"创建空元组如下。tup1=()元组中只包含一个元素时,需要在元素后面添加逗号。如下所示。tup1=(50,)元组与字符串类似,下标索引从0开始,可以进行截取、组合等。对于元组元素,我们可以进行访问,修改和删除只能针对元组,不能对元组的元素进行修改和删除操作。2.5合理使用list、tuple、dict和set2.5.2tuple元组的运用1.访问元组中的元素使用下标索引来访问元组中的值,同样也可以使用方括号的形式截取字符,如下所示。【例2-20】访问元组元素。tup1=('physics','chemistry',1997,2018)tup2=(1,2,3,4,5,6,7)print("tup1[0]:",tup1[0])print("tup2[1:5]:",tup2[1:5])执行结果如下。tup1[0]:physicstup2[1:5]:(2,3,4,5)2.5合理使用list、tuple、dict和set2.5.2tuple元组的运用2.修改元组元组中的元素值是不允许修改的,但可以对元组进行连接组合,如下所示。【例2-21】修改元组。tup1=(12,34.56)tup2=('abc','xyz')#以下修改元组元素的操作是非法的#tup1[0]=100#创建一个新的元组tup3=tup1+tup2print(tup3)执行结果如下。(12,34.56,'abc','xyz')2.5合理使用list、tuple、dict和set2.5.2tuple元组的运用3.删除元组元组中的元素是不允许删除的,但可以使用del语句来删除整个元组,如下所示。【例2-22】删除元组。tup=('physics','chemistry',1997,2018)print(tup)deltupprint("Afterdeletingtup:")#print(tup)不能正常执行,因为tup已经不存在执行结果如下。('physics','chemistry',1997,2018)Afterdeletingtup:2.5合理使用list、tuple、dict和set2.5.3dict字典的运用字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值对(key=>value)用冒号(:)分割,每个键值对之间用逗号(,)分割,整个字典包括在花括号({})中,格式如下。d={key1:value1,key2:value2}键一般是唯一的,如果重复,最后一个键值对会替换前面的,值可以不唯一。值可以是任何数据类型,但键必须是不可变的,如字符串、数字或元组。如下所示。dict={'Alice':'2341','Beth':'9102','Cecil':'3258‘}也可按如下方式创建字典。dict1={'abc':456};dict2={'abc':123,98.6:370};2.5合理使用list、tuple、dict和set2.5.3dict字典的运用1.访问字典里的值把相应的键放入熟悉的方括号,如下所示。【例2-23】访问字典里的值。dict={'Name':'Zara','Age':7,'Class':'First'};print("dict['Name']:",dict['Name']);print("dict['Age']:",dict['Age']);执行结果如下。dict['Name']:Zaradict['Age']:72.5合理使用list、tuple、dict和set2.5.3dict字典的运用2.修改字典字典的修改包括向字典添加新内容,即增加新的键值对,以及修改或删除已有键值对。【例2-24】修改字典。dict={'Name':'Zara','Age':7,'Class':'First'};dict['Age']=8;#更新已有元素dict['School']="DPSSchool";#添加新元素print("dict['Age']:",dict['Age']);print("dict['School']:",dict['School']);执行结果如下。dict['Age']:8dict['School']:DPSSchool2.5合理使用list、tuple、dict和set2.5.3dict字典的运用3.删除字典元素删除字典用del命令,该命令既能删除字典中单一的元素,也可以清空整个字典。【例2-25】删除字典及字典元素。dict={'Name':'Zara','Age':7,'Class':'First'};deldict[

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论