Python语言完整版教学课件全书电子讲义(最新).pptx

上传人:可**** 文档编号:76340960 上传时间:2023-03-09 格式:PPTX 页数:587 大小:4.83MB
返回 下载 相关 举报
Python语言完整版教学课件全书电子讲义(最新).pptx_第1页
第1页 / 共587页
Python语言完整版教学课件全书电子讲义(最新).pptx_第2页
第2页 / 共587页
点击查看更多>>
资源描述

《Python语言完整版教学课件全书电子讲义(最新).pptx》由会员分享,可在线阅读,更多相关《Python语言完整版教学课件全书电子讲义(最新).pptx(587页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第1 1章章 Python Python开开发环发环境搭建与使用境搭建与使用本章学习目标了解Python语言的应用领域了解Python语言的特点熟练安装Python和Anaconda3熟练安装Python扩展库了解IDLE、Jupyter Notebook和Spyder这几个开发环境的简单使用了解标准库对象和扩展库对象的导入和使用方法以及常见问题和解决方法了解Python代码编写规范1.1 Python语言特点与应用领域经过30年的发展,目前Python已经渗透到几乎所有领域,包括但不限于:计算机安全、网络安全、软件漏洞挖掘、软件逆向工程、软件测试与分析、电子取证、密码学数据采集、数据分析与

2、处理、机器学习、深度学习、自然语言处理、推荐系统构建统计分析、科学计算、符号计算、可视化计算机图形学、图像处理、音乐编程、语音识别、视频采集、视频处理、动画制作、游戏设计与策划网站开发、套接字编程、网络爬虫、系统运维树莓派、无人机、移动终端应用开发、电子电路设计辅助教育、辅助设计、办公自动化1.1 Python语言特点与应用领域Python是一门跨平台、开源、免费的解释型高级动态编程语言,是一种通用编程语言。除了可以解释执行之外,Python还可以把源代码伪编译为字节码来优化程序提高加载速度并对源代码进行一定程度的保密,也支持使用py2exe、pyinstaller、cx_Freeze、py2

3、app或其他类似工具将Python程序及其所有依赖库打包为特定平台上的可执行文件,从而可以脱离Python解释器环境和相关依赖库在其他同类平台上独立运行,同时也可以起到更好的源码保护作用。1.1 Python语言特点与应用领域与其他编程语言相比,Python语言具有非常明显的特点和优势,例如:以快速解决问题为主要出发点,不涉及过多计算机底层知识,需要记忆的语言细节少,可以快速入门。支持命令式编程、函数式编程、面向对象程序设计等模式。语法简洁清晰,代码布局优雅,可读性和可维护性强。内置数据类型、内置模块和标准库提供了大量功能强大的操作。拥有大量的几乎支持所有领域应用开发的成熟扩展库和狂热支持者。

4、1.2 Python安装与IDLE简单使用1.2 Python安装与IDLE简单使用1.2 Python安装与IDLE简单使用1.2 Python安装与IDLE简单使用1.2 Python安装与IDLE简单使用IDLE快捷键快捷键快捷键功能说明功能说明Alt+P查看上一条执行过的语句Alt+N查看下一条执行过的语句Ctrl+F6重启Shell,之前定义的对象和导入的模块全部失效F1打开Python帮助文档Alt+/自动补全前面曾经出现过的单词,如果之前有多个单词具有相同前缀,则在多个单词中循环选择Ctrl+缩进代码块Ctrl+取消代码块缩进Alt+3注释代码块Alt+4取消代码块注释Tab代码

5、补全或代码块缩进1.2 Python安装与IDLE简单使用使用IDLE运行程序1.2 Python安装与IDLE简单使用在IDLE中执行程序时提供命令行参数import sys#接收多个命令行参数,相邻参数之间使用空格分隔names=sys.argv1:#循环结构,处理每个参数for name in names:print(f你好,name)1.3 Anaconda3安装与Jupyter Notebook、Spyder简单使用1.3 Anaconda3安装与Jupyter Notebook、Spyder简单使用1.3 Anaconda3安装与Jupyter Notebook、Spyder简单使

6、用1.4 在PowerShell或命令提示符环境运行Python程序#内置函数input()用于接收用户的键盘输入name=input(输入你的名字:)#字符串前面加字母f表示对其中大括号里的内容进行替换和格式化print(fname 你好,欢迎加入Python的奇妙世界!)1.4 在PowerShell或命令提示符环境运行Python程序1.5 安装扩展库-1.5.1 基本概念在Python中,有内置模块、标准库和扩展库之分。内置模块和标准库是Python官方的标准安装包自带的,内置模块没有对应的文件,可以认为是封装在Python解释器主程序中的;标准库有对应的Python程序文件,这些文件

7、在Python安装路径中的Lib文件夹中。1.5 安装扩展库-1.5.1 基本概念1.5.2 安装扩展库pip命令示例命令示例说说明明pip freeze列出已安装模块及其版本号pip install SomePackage=version在线安装SomePackage模块,可以指定扩展库版本,如果不指定则默认安装最新版本,使用时把SomePackage替换为实际的扩展名名称,例如jieba、pillow、pypinyinpip install SomePackage.whl通过whl文件离线安装扩展库pip install-upgrade SomePackage升级SomePackage模块

8、到最新版本pip uninstall SomePackage卸载SomePackage模块1.5.2 安装扩展库1.5.3 常见问题与解决方法(1)在线安装失败1)网络不好导致下载失败,2)需要本地安装有正确版本的VC+编译环境,3)扩展库暂时还不支持自己使用的Python版本。对于第一种错误,可以多尝试几次、指定国内源或下载whl文件离线安装。如果出现第二种错误,可以在本地安装合适版本的VC+编译器或者下载whl文件离线安装。对于第三种错误,可以尝试找一下有没有第三方编译好的whl文件可以下载然后离线安装。1.5.3 常见问题与解决方法pip install psutil-5.6.7-cp3

9、8-cp38-win_amd64.whl1.5.3 常见问题与解决方法如果由于网速问题导致在线安装速度过慢的话,pip命令支持指定国内的站点来提高速度,下面的命令用来从阿里云服务器下载安装扩展库jieba,其他服务器地址可以自行查阅。pip install jieba-i http:/ 1.5.3 常见问题与解决方法如果固定使用阿里云服务器镜像,可以在当前登录用户的AppDataRoaming文件夹中创建文件夹pip,在pip文件夹中创建文件pip.ini,输入下面的内容,以后再执行pip命令安装和升级扩展库时就不用每次都指定服务器地址了。globalindex-url=http:/ 常见问题

10、与解决方法(2)安装路径带来的问题如果计算机上安装了多个版本的Python开发环境,在一个版本下安装的扩展库无法在另一个版本中使用。强烈建议在命令提示符或PowerShell环境切换至相应版本Python安装目录的scripts文件夹中,然后执行pip命令,如果要离线安装扩展库的话,最好也把.whl文件下载到相应版本的scripts文件夹中。1.5.3 常见问题与解决方法(3)扩展库自身bug或版本冲突问题某些扩展库在升级过程中解决原来问题的同时又引入了新的错误,导致某些功能在旧版本中工作正常但在新版本中却无法使用。如果遇到类似的情况,可以查一下扩展库的官方网站的最新消息,或者暂时还原较低的版

11、本,如果水平足够的话也可以自己修改一下扩展库的代码再使用。1.6 标准库、扩展库对象的导入与使用Python所有内置对象不需要导入就可以直接使用,但内置模块对象和标准库对象必须先导入才能使用,扩展库则需要正确安装之后才能导入和使用其中的对象。在编写代码时,一般建议先导入内置模块和标准库对象再导入扩展库对象,最后导入自己编写的本地模块。并且,建议在程序中只导入确实需要使用的对象,确定用不到的不要导入,避免导入整个模块,这样可以适当提高代码加载和运行速度,并能减小打包后的可执行文件体积。1.6.1 import 模块名 as 别名import sysimport mathimport random

12、import os.path as path#计算并输出30的阶乘print(math.factorial(30)#随机选择30个字符0或字符1,允许重复print(random.choices(01,k=30)#判断字符串C:Windowsnotepad.exe指向的路径是否为已存在的文件print(path.isfile(rC:Windowsnotepad.exe)#查看Python解释器程序文件路径print(sys.executable)#查看对象占用的字节数print(sys.getsizeof()print(sys.getsizeof(1,2,3,4)print(sys.getsi

13、zeof(1,2,3,4)1.6.2 from 模块名/库名 import 对象名/模块名 as 别名from math import pi as PIfrom os.path import getsize,joinfrom calendar import isleap#下面一行代码需要安装扩展库pillowfrom PIL import Imager=3print(PI*r*r)#计算半径为3的圆的面积#获取文件C:python38python.exe的大小,单位为字节print(getsize(rC:python38python.exe)#连接多个路径为一个完整的路径print(join(

14、rC:python38,libsite-packages)print(isleap(2020)#判断2020年是否为闰年im=Image.open(test.jpg)print(im.getpixel(200,200)#获取并输出指定位置的像素颜色值1.6.3 from 模块名 import*from itertools import*#从字符串01234中任选3个字符的所有组合,不允许重复#list()用来把函数combinations()的返回值变成列表print(list(combinations(01234,3)#从字符串01234中任选3个字符的所有组合,允许重复print(list

15、(combinations_with_replacement(01234,3)#从字符串1234中任选3个字符的所有排列print(list(permutations(1234,3)#把多个列表首尾相接print(list(chain(1,2,3,4,5,6,7,8,9)data=1,2,3,4,5,6values=0,1,1,0,0,1#把等长列表data和values左对齐#返回data中与values中的1对应的位置上的元素print(list(compress(data,values)1.6.3 from 模块名 import*#返回列表中作为参数传递给函数callable()后得到F

16、alse的那些元素print(list(filterfalse(callable,int,3,str,sum,5)#返回12和45的笛卡尔积print(list(product(12,45)#返回3个字符串12的笛卡尔积print(list(product(12,repeat=3)#把123和abcdef左对齐,对应位置上的字符组合到一起,短的在后面补字符0#相当于把123000和abcdef左对齐,对应位置上的字符组合到一起print(list(zip_longest(123,abcdef,fillvalue=0)1.6.4 高级用法与常见问题 import sys#查看模块导入时的搜索路径

17、 print(sys.path),C:Python38Libidlelib,C:Python38python38.zip,C:Python38DLLs,C:Python38lib,C:Python38,C:UsersdfgAppDataRoamingPythonPython38site-packages,C:Python38libsite-packages,C:Python38libsite-packageswin32,C:Python38libsite-packageswin32lib,C:Python38libsite-packagesPythonwin#添加新的搜索路径 sys.path

18、.append(D:test)print(sys.path),C:Python38Libidlelib,C:Python38python38.zip,C:Python38DLLs,C:Python38lib,C:Python38,C:UsersdfgAppDataRoamingPythonPython38site-packages,C:Python38libsite-packages,C:Python38libsite-packageswin32,C:Python38libsite-packageswin32lib,C:Python38libsite-packagesPythonwin,D:t

19、est1.6.4 高级用法与常见问题1.7 Python代码编写规范(1)缩进在函数定义、类定义、选择结构、循环结构、异常处理结构和with语句等结构中,对应的函数体或语句块都必须有相应的缩进。当某一行代码与上一行代码不在同样的缩进层次上,并且与之前某行代码的缩进层次相同,表示上一个代码块结束。1.7 Python代码编写规范def toTxtFile(fn):#函数定义 with open(fn,w)as fp:#相对def缩进4个空格 for i in range(10):#相对with缩进4个空格 if i%3=0 or i%7=0:#相对于for缩进4个空格 fp.write(str(

20、i)+n)#相对于if缩进4个空格 else:#选择结构的else分支,与if对齐 fp.write(ignoredn)#相对于else缩进4个空格 fp.write(finishedn)#for循环结构结束,与for对齐 print(all jobs done)#with块结束,与with对齐 toTxtFile(rD:text.txt)#函数定义结束,调用函数1.7 Python代码编写规范(2)空格与空行1.7 Python代码编写规范(3)标识符命名在为标识符起名字时,至少应该做到“见名知义”,优先考虑使用英文单词或单词的组合作为标识符名字。如果使用单词组合的话有两种常用形式,一种是使

21、用单个下画线连接单词(例如str_name),一种是标识符名字首字母小写而后面几个单词的首字母大写(例如strName),变量名和函数名可以使用任意一种形式,类名一般使用第二种形式并且首字母大写。另外,变量名不适合太长,有的程序员总担心别人看不明白自己的变量名表示什么,干脆使用一个完整句子十几个单词的组合作为变量名,这样做是不合适的。1.7 Python代码编写规范例如,使用age表示年龄、number表示数量、radius表示圆或球的半径、price表示价格、area表示面积、volume表示体积、row表示行、column表示列、length表示长度、width表示宽度、line表示直线、

22、curve表示曲线,getArea或get_area表示用来计算面积的函数名,setRadius或set_radius表示修改半径的函数。除非是用来临时演示或测试个别知识点的代码片段,否则不建议使用x、y、z或者a1、a2、a3这样的变量名。1.7 Python代码编写规范除“见名知义”这个基本要求之外,在Python中定义标识符时,还应该遵守下面的规范。必须以英文字母、汉字或下划线开头。中间位置可以包含汉字、英文字母、数字和下画线,不能有空格或任何标点符号。不能使用关键字,例如yield、lambda、def、else、for、break、if、while、try、return都是不能用作标

23、识符名称的。对英文字母的大小写敏感,例如student和Student是不同的标识符名称。不建议使用系统内置的模块名、类型名或函数名以及已导入的模块名及其成员名作变量名或者自定义函数名、类名,例如type、max、min、len、list这样的变量名都是不建议作为变量名的,也不建议使用math、random、datetime、re或其他内置模块和标准库的名字作为变量名或者自定义函数名、类名。1.7 Python代码编写规范(4)续行expression1=1+2+3#使用反斜线作为续行符 +4+5expression2=(1+2+3#把多行表达式放在圆括号中表示是一条语句 +4+5)1.7 P

24、ython代码编写规范(5)注释在Python中有两种常用的注释形式:井号“#”和三引号。井号“#”用于单行注释,表示本行中“#”符号之后的内容不作为代码运行,一般建议在表示注释的井号“#”后面增加一个空格再写注释内容;一对三引号(包括三单引号和三双引号)常用于大段说明性文本的注释,也可以用于表示包含多行的字符串。1.7 Python代码编写规范(6)圆括号圆括号除了用来表示多行代码为一条语句,还常用来修改表达式计算顺序或者增加代码可读性避免歧义。建议在复杂表达式中适当的位置增加括号,明确说明运算顺序,尽最大可能减少人类阅读时可能的困扰,除非运算符优先级与大多数人所具备的常识高度一致。1.7

25、Python代码编写规范(7)定界符、分隔符、运算符在编写Python程序时,所有定界符和分隔符都应使用英文半角字符,例如元素之间的逗号、表示列表的方括号、表示元组的圆括号、表示字典和集合的大括号、表示字符串和字节串的引号、字典的“键”和“值”之间的冒号、定义函数和类以及类中方法时的冒号、所有运算符,这些都应该使用英文半角输入法,不能是全角字符。这些属于硬性规定,如果违反会导致语法错误。1.7 Python代码编写规范(8)函数大小一般建议一个函数的代码行数不超过一个屏幕的高度,如果超过太多可以考虑重新设计程序的框架,拆分成几个小的函数。和续行符的使用一样,函数大小也不是硬性规定,但如果这样做

26、的话可以提高代码阅读体验。第第2 2章章 内置内置类类型、内置函数与运算符型、内置函数与运算符本章学习目标熟练掌握常见内置类型的基本用法熟练掌握常用运算符的功能和用法熟练掌握常用内置函数的功能和用法了解自定义函数的基本语法了解lambda表达式的语法和功能了解函数式编程的形式和特点了解部分标准库中函数的用法2.1 常用内置类型数据类型是特定类型的值及其支持的操作组成的整体,每种类型的对象的表现形式、取值范围以及支持的操作都不一样,各有不同的特点、优劣和适用场合。例如,整型对象支持加、减、乘、除、幂运算、相反数和计算余数;列表、元组和字符串分别使用方括号、圆括号和引号作为定界符,都支持使用加号连

27、接、支持与整数相乘、支持使用序号作为下标访问特定位置上的元素、支持使用切片访问其中的部分元素;列表支持追加元素、插入元素、删除元素、查找元素、修改元素以及排序等操作,元组不支持元素的增加、修改、删除等操作;字典以大括号作为定界符,支持通过“键”作为下标获取相应的“值”;集合也以大括号作为定界符,但只能包含可哈希对象、其中的元素是无序的、增加元素时会自动忽略重复元素、不支持使用下标访问指定位置上的元素。2.1 常用内置类型在Python语言中所有的一切都可以称作对象,常见的对象类型有整数、实数、复数、字符串、列表、元组、字典、集合和zip对象、map对象、enumerate对象、range对象、

28、filter对象、生成器对象等内置对象,以及大量标准库对象和扩展库对象,函数和类也可以称作对象。内置对象在启动Python之后就可以直接使用,不需要导入任何标准库,也不需要安装和导入任何扩展库。可以使用print(dir(_builtins_)查看所有内置对象清单。2.1 常用内置类型对对象象类类型型类类型名称型名称示例示例简简要要说说明明数字intfloatcomplex666,0o777,0b1111,0 x4ed82.718281828459045,1.2e-33+4j,5J数字大小没有限制,1.2e-3表示1.2乘以10的-3次方,复数中j或J表示虚部字符串strReadability

29、 counts.Whats your name?Tom sai,lets go.rC:Windowsnotepad.exefMy name is namerfdirectoryfn使用单引号、双引号、三引号作为定界符,不同定界符之间可以互相嵌套;前面加字母r或R表示原始字符串,任何字符都不进行转义;前面加字母f或F表示对字符串中的变量名占位符进行替换,对字符串进行格式化;可以在引号前面同时加字母r和f;一对空的单引号、双引号或三引号表示空字符串字节串bytesbxe8x91xa3xe4xbbx98xe5x9bxbdbPythonxb6xadxb8xb6xb9xfa以字母b引导,可以使用单引号、

30、双引号、三引号作为定界符,同一个字符串使用不同编码格式编码得到的字节串可能会不一样2.1 常用内置类型列表listred,green,bluea,3,(1,2),c,2,65:A所有元素放在一对方括号中,元素之间使用逗号分隔,其中的元素可以是任意类型,一对空的方括号表示空列表元组tuple(0,0,255)(0,)()所有元素放在一对圆括号中,元素之间使用逗号分隔,元组中只有一个元素时后面的逗号不能省略,一对空的圆括号表示空元组字典dictred:(1,0,0),green:(0,1,0),blue:(0,0,1)所有元素放在一对大括号中,元素之间使用逗号分隔,元素形式为“键:值”,其中“键”

31、不允许重复并且必须为不可变类型(或者说必须是可哈希类型,例如整数、实数、字符串、元组),“值”可以是任意类型的数据,一对空的大括号表示空字典集合setred,green,blueset()所有元素放在一对大括号中,元素之间使用逗号分隔,元素不允许重复且必须为不可变类型。set()表示空集合,不能使用一对空的大括号表示空集合2.1 常用内置类型布尔型boolTrue,False逻辑值,首字母必须大写空类型NoneTypeNone空值,首字母必须大写异常NameErrorValueErrorTypeErrorKeyError.Python内置异常类文件 fp=open(data.txt,w,enc

32、oding=utf8)Python内置函数open()使用指定的模式打开文件,返回文件对象迭代器 生成器对象、zip对象、enumerate对象、map对象、filter对象、reversed对象等具有惰性求值的特点,空间占用小,适合大数据处理;其中每个元素只能使用一次2.1 常用内置类型 data=3+5#创建整型变量 type(data)#查看变量类型 data=3.14#创建实数变量 type(data)data=43,67 type(data)data=Python程序设计入门与实践教程 type(data)del data data#变量已被删除,再访问会出错Traceback(mo

33、st recent call last):File,line 1,in dataNameError:name data is not defined2.1.1 整数、实数、复数Python内置的数字类型有整数、实数和复数。其中,整数类型除了常见的十进制整数,还有:二进制:以0b开头,每一位只能是0或1,例如0b10011100。八进制:以0o开头,每一位只能是0、1、2、3、4、5、6、7这八个数字之一,例如0o777。十六进制:以0 x开头,每一位只能是0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f之一,其中a表示10,b表示11,以此类推,例如0 xa8b9,其中a-f之间

34、的英文字母大小写都可以。2.1.1 整数、实数、复数Python支持任意大的数字。由于精度的问题,实数的算术运算可能会有一定的误差,应尽量避免在实数之间直接进行相等性测试,而是应该使用标准库math中的函数isclose()测试两个实数是否足够接近。最后,Python内置支持复数类型及其运算。2.1.1 整数、实数、复数 import math print(math.factorial(72)#计算72的阶乘6123445837688608686152407038527467274077809178469732898382301496397838498722168927420416000000

35、0000000000 print(0.4+0.3)#计算两个实数的和0.7 print(0.4-0.3)#实数运算可能会有误差0.10000000000000003 print(0.4-0.3=0.1)#尽量不要直接比较实数是否相等False print(math.isclose(0.4-0.3,0.1)#测试两个实数是否足够接近True print(8*(1/3)#计算8的立方根2.0 print(3*0.5)#计算3的平方根1.73205080756887722.1.1 整数、实数、复数 c=3+4j print(c*2)#计算复数的平方(-7+24j)print(c*c.conjugat

36、e()#计算一个复数与其共轭复数的乘积(25+0j)print(abs(c)#计算复数的模5.0 print(3+4j.imag)#计算整数3与复数4j的虚部的和7.0 print(3+4j).imag)#输出复数3+4j的虚部4.0 print(b(600,237)#计算600选237的组合数,Python 3.8支持2247778206433816490117882562024302679537538421779245959917435943647259327736304763484503923372082307847290745019556573214316800089303228395

37、818884953967605561946794741426880002.1.1 整数、实数、复数 print(math.perm(72,20)#计算72选20的排列数,Python 3.8支持759184772617383139127116820643840000 print(math.gcd(36,48)#计算36和48的最大公约数12 math.gcd(36,24,48,18)#计算多个整数的最大公约数,Python 3.9支持6 math.lcm(3,6,9)#计算多个整数的最小公倍数,Python 3.9支持18 print(math.log(100)#计算100的自然对数4.605

38、170185988092 print(math.log(100,10)#计算100以10为底的对数2.0 print(math.log10(100)#计算100以10为底的对数2.0 print(math.log2(100)#计算100以2为底的对数6.6438561897747242.1.1 整数、实数、复数 print(math.log1p(99)#计算99+1的自然对数4.605170185988092 print(math.nextafter(3.458,50)#3.458向50方向前进时的下一个实数#Python 3.9开始支持3.4580000000000006 print(mat

39、h.nextafter(3.458,-50)#3.458向-50方向前进时的下一个实数3.4579999999999997 print(math.prod(1,2,3)#计算可迭代对象中数字的连乘62.1.1 整数、实数、复数#标准库函数random.randint(a,b)用于返回介于区间a,b的一个随机数 from random import randint#字符串前面加字母f表示格式化,会计算字符串中一对大括号内表达式的值#大括号中冒号后面表示格式,x表示十六进制数#6表示最终结果为6位,0表示不足6位时在前面补0#f字符串的用法详见6.1.3节#可以使用下面语句的方法生成随机颜色值#其

40、中16777215表示0 xffffff的十进制数 print(f#randint(0,16777215):06x)#25b1952.1.1 整数、实数、复数#为了提高大数字的可读性,可以在整数中间位置插入一个下画线作为分隔符#一般是使用单个下画线作为千分位分隔符,也可以在其他位置,但不能在首尾#这个用法适用于Python 3.6以及更新的版本 print(12_345_678)12345678#不允许在数字尾部使用下画线 print(12_345_678_)SyntaxError:invalid decimal literal#在前面加下画线会被认为是变量名 print(_12_345_67

41、8)Traceback(most recent call last):File,line 1,in print(_12_345_678)NameError:name _12_345_678 is not defined2.1.2 列表、元组、字典、集合列表、元组、字典、集合是Python内置的容器对象,其中可以包含多个元素。这几种类型也是Python中常见的可迭代对象。所谓可迭代对象(iterable),是指可以使用for循环从前向后逐个访问其中元素的容器类对象,这样的对象也可以转换为列表、元组、集合对象。所谓迭代器对象(iterator),是指除了支持for循环遍历元素之外还可以使用内置函数

42、next()从前向后逐个访问其中元素的对象,例如map对象、zip对象、生成器对象都属于迭代器对象。迭代器对象属于可迭代对象的真子集,迭代器对象一定是可迭代对象,但可迭代对象不一定是迭代器对象。2.1.2 列表、元组、字典、集合#创建列表对象x_list=1,2,3#星号表示序列解包,取出列表中的所有元素,sep表示指定冒号作为分隔符#类似用法适用于任意可迭代对象,见4.5节print(*x_list,sep=:)#创建元组对象x_tuple=(1,2,3)#创建字典对象,元素形式为“键:值”x_dict=a:97,b:98,c:99#创建集合对象x_set=1,2,3#使用下标访问列表中指定

43、位置的元素,元素下标从0开始print(x_list1)2.1.2 列表、元组、字典、集合#元组也支持使用序号作为下标,1表示第二个元素的下标print(x_tuple1)#访问字典中特定“键”对应的“值”,字典对象的下标是“键”print(x_dicta)#查看列表长度,也就是其中元素的个数print(len(x_list)#查看元素2在元组中首次出现的位置print(x_tuple.index(2)#使用for循环遍历字典中的“键:值”元素#查看字典中哪些“键”对应的“值”为98#for循环结构的详细内容见3.3.1节,单分支选择结构见3.2.1节for key,value in x_di

44、ct.items():if value=98:print(key)#查看集合中元素的最大值print(max(x_set)2.1.3 字符串字符串使用单引号、双引号、三单引号或三双引号作为定界符,其中三引号里的字符串可以换行,并且不同的定界符之间可以互相嵌套。2.1.3 字符串如果字符串中含有反斜线“”,反斜线和后面紧邻的字符可能(注意,不是一定)会组合成转义字符,这样的组合就会变成其他的含义而不再表示原来的字面意思。例如,n表示换行符,r表示回车键,b表示退格键,f表示换页符,t表示水平制表符,ooo表示最多3位八进制数对应ASCII码的字符(例如64表示字符4),xhh表示2位十六进制数对

45、应ASCII码的字符(例如x41表示字符A),uhhhh表示4位十六进制数对应Unicode编码的字符(例如u8463表示字符董、u4ed8表示字符付、u56fd表示字符国),UXXXXXXXX表示8位十六进制数对应Unicode编码的字符(有效编码范围为U00010000至U0001FFFD之间)。2.1.3 字符串在使用字符串表示文件路径时,如果其中作为分隔符的反斜线和后面紧邻的字符恰好组成转义字符,字符串就没法正确表示路径了。如果不想反斜线和后面紧邻的字符组合成为转义字符,可以在字符串前面直接加上字母r或R使用原始字符串。在字符串前面加上英文字母r或R表示原始字符串,其中的每个字符都表示

46、字面含义,不会进行转义。不管是普通字符串还是原始字符串,都不能以单个反斜线结束,如果最后一个字符是反斜线的话需要再多写一个反斜线。在字符串前面加字母f或F表示对字符串进行格式化,把其中的变量名占位符替换为具体的值,称作f-字符串。原始字符串和f-字符串可以同时使用,也就是在字符串前面可以同时加字母f和r(不区分大小写)。2.1.3 字符串Python 3.x代码默认使用UTF-8编码格式,全面支持中文。在使用内置函数len()统计字符串长度时,中文和英文字母都作为一个字符对待。在使用for循环或类似技术遍历字符串时,每次遍历其中的一个字符,中文字符和英文字符也一样对待。在Python 3.x中

47、可以使用汉字做变量名,再也不用因为想不出使用哪个英文单词做变量名而发愁了。2.1.3 字符串#使用一对三双引号定义包含多行的字符串,模拟一个网页的HTML代码 text=标题 第一段文本 第一个超链接 第二段文本 第二个超链接 2.1.3 字符串 print(len(text)#查看字符串总长度226 print(text.count()#查看子串的出现次数2 print(text.count(a)#查看子串 print(text.count()#查看空格出现的次数68 print(text.count(n)#查看换行符出现的次数12 in text#查看text中是否包含子串True pri

48、nt(=*10)#字符串乘以整数表示重复=2.1.3 字符串 print(Hello+world)#连接字符串Hello world print(Hello world)#也可以这样连接字符串Hello world print(rC:Windowsnotepad.exe)#表示文件路径时建议使用原始字符串C:Windowsnotepad.exe directory=rC:Windows fn=notepad.exe print(rfdirectoryfn)#在字符串前面同时加字母r和fC:Windowsnotepad.exe2.1.3 字符串 age=43 print(fage=)#这个语法P

49、ython 3.8开始支持age=43 print(fage=age)#Python 3.8之前的版本中需要这样写age=43 年龄=43#可以使用中文字符作为变量名 年龄=年龄+3 print(年龄)462.1.4 函数函数可以理解为一个实现特定功能的黑盒子,接收输入进行处理,完成预定功能并给出输出。在Python中,可以使用关键字def定义具名函数(有名字的函数),使用关键字lambda定义匿名函数(没有名字的函数,一般作为其他函数的参数来使用)。2.1.4 函数#func是函数名,value是形参,可以理解为占位符#在调用函数时,形参会被替换为实际传递过来的对象def func(valu

50、e):return value*3#lambda表达式常用来定义匿名函数,也可以定义具名函数#下面定义的func和上面的函数func在功能上是等价的#value相当于函数的形参,表达式value*3的值相当于函数的返回值func=lambda value:value*3#通过函数名来调用,圆括号里的内容是实参,用来替换函数的形参print(func(5)print(func(5)print(func(5,)print(func(5)2.2 运算符与表达式运算符运算符功能功能说说明明:=赋值运算,Python 3.8新增,俗称海象运算符Lambda parameter:expression用来定

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁