1、python语言介绍目 录/CONCENTSPython概述Python基本语法0102Python数据结构03Python字符串04Python简单程序编写051.Python 概述计算机语言发展过程Python语言由来Python的创始人为荷兰人的创始人为荷兰人Guido van Rossum。1989年圣诞节期间,年圣诞节期间,在阿姆斯特丹,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为本解释程序,做为 ABC 语言的一种继承。之所以选语言的一种继承。之所以选Python(大蟒蛇(大蟒蛇的意思)作为程序的名字,是因
2、为他是一个的意思)作为程序的名字,是因为他是一个Monty Python的飞行马的飞行马戏团的爱好者。戏团的爱好者。ABC是由是由Guido参加设计的一种教学语言。就参加设计的一种教学语言。就Guido本人看来,本人看来,ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。但是这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,语言并没有成功,究其原因,Guido 认为是非开放造成的。认为是非开放造成的。Guido 决心在决心在 Python 中避免这一错误(的确如此,中避免这一错误(的确如此,Python 与其它的与其它的语言如语言如C、C+和和J
3、ava结合的非常好)。同时,他还想实现在结合的非常好)。同时,他还想实现在 ABC 中中闪现过但未曾实现的东西。就这样,闪现过但未曾实现的东西。就这样,Python在在Guido手中诞生了。手中诞生了。Python语言由来可以说,可以说,Python是从是从ABC发展起来,主要受到了发展起来,主要受到了Modula-3(另一种(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了了Unix shell和和C的习惯。实际上,的习惯。实际上,Python的第一个版本实现是在的第一个版本实现是在Mac机上。机上。(转自互联网)(
4、转自互联网)Python语言已诞生语言已诞生20多年了,正逐渐发展为主流程序设计语言之一,多年了,正逐渐发展为主流程序设计语言之一,目前在目前在TIOBE编程语言排行榜中长期占据第七、八的位次,近期又有编程语言排行榜中长期占据第七、八的位次,近期又有上升。上升。目前,目前,Python由世界各地的数十位程序员(包括由世界各地的数十位程序员(包括van Rossum)负责)负责维护。维护。Python的官方定义为:的官方定义为:Python是一种解释型的、面向对象的、带有是一种解释型的、面向对象的、带有动态语义的高级程序设计语言。动态语义的高级程序设计语言。TIOBE 2015年年8月编程语言排
5、行榜月编程语言排行榜 TOP 20 榜单榜单有人说:编写编写C程序就像一群人拿着剃刀在刚打过蜡的程序就像一群人拿着剃刀在刚打过蜡的 舞场内跳快舞。舞场内跳快舞。Waldi RavensC+:难学更难用,设计如此。:难学更难用,设计如此。匿名匿名在很多方面,在很多方面,Java就是就是C+。Michael Feldmanpython语言特点程序设计语言在不断发展,从最初的机器语言、汇编语程序设计语言在不断发展,从最初的机器语言、汇编语言到后来的言到后来的C、Pascal语言,发展到现在的语言,发展到现在的C+、Java等高等高级编程语言。程序设计的难度在不断减小,软件的开发级编程语言。程序设计的
6、难度在不断减小,软件的开发和设计已经形成了一套标准,开发工作已经不再是复杂和设计已经形成了一套标准,开发工作已经不再是复杂的任务。最初只能使用机器代码编写程序,而现在可以的任务。最初只能使用机器代码编写程序,而现在可以使用具有良好调试功能的使用具有良好调试功能的IDE环境编程。环境编程。Python使用使用C语言开发,但语言开发,但Python不再有不再有C语言中的指针语言中的指针等复杂数据类型。等复杂数据类型。Python的简洁性使得软件的代码大幅的简洁性使得软件的代码大幅度减少,开发任务进一步简化。程序员关注的重点不再度减少,开发任务进一步简化。程序员关注的重点不再是语法特性,而是程序所要
7、实现的任务。是语法特性,而是程序所要实现的任务。Python语言有许多重要的特性,而且有些特性是富有创语言有许多重要的特性,而且有些特性是富有创造性的。造性的。Python语言特点-面向对象 面向对象的程序设计解决了结构化程序设计的复杂性,面向对象的程序设计解决了结构化程序设计的复杂性,使得程序设计更贴近现实生活。使得程序设计更贴近现实生活。结构化程序设计把数据和逻辑混在一起,不便于程序的结构化程序设计把数据和逻辑混在一起,不便于程序的维护。面向对象的程序设计抽象出对象的行为和属性,维护。面向对象的程序设计抽象出对象的行为和属性,把行为和属性分离开,但又合理地组织在一起。把行为和属性分离开,但
8、又合理地组织在一起。Python语言具有很强的面向对象特性,而且简化了面向语言具有很强的面向对象特性,而且简化了面向对象的实现,它消除了保护类型、抽象类、接口等面向对象的实现,它消除了保护类型、抽象类、接口等面向对象的元素,使得面向对象的概念更容易理解。对象的元素,使得面向对象的概念更容易理解。Python语言特点-内置数据结构 Python提供了一些内置的数据结构,这些数据结提供了一些内置的数据结构,这些数据结构实现了类似构实现了类似Java中集合类的功能。内置数据结中集合类的功能。内置数据结构的出现简化了程序设计。构的出现简化了程序设计。Python的数据结构包括元组、列表、字典、集合的数
9、据结构包括元组、列表、字典、集合等。等。元组相当于元组相当于“只读只读”的数组,列表可以作为可变的数组,列表可以作为可变长度的数组使用,字典相当于长度的数组使用,字典相当于Java中的中的HashTable类型。类型。Python语言特点-简单性 Python语言的关键字比较少,它没有分号、语言的关键字比较少,它没有分号、begin、end等标记,代码块使用空格或制表等标记,代码块使用空格或制表键缩进的方式来分隔。键缩进的方式来分隔。Python的代码简洁、短小、易于阅读。的代码简洁、短小、易于阅读。Python简化了循环语句,即使程序结构很简化了循环语句,即使程序结构很复杂也能快速读懂。复杂
10、也能快速读懂。Python语言特点-健壮性 Python提供了异常处理机制,能捕获程序提供了异常处理机制,能捕获程序的异常情况。此外的异常情况。此外Python的堆栈跟踪对象的堆栈跟踪对象能够指出程序出错的位置和出错的原因。能够指出程序出错的位置和出错的原因。异常机制能够避免不安全退出的情况,同异常机制能够避免不安全退出的情况,同时能够帮助程序员调试程序。时能够帮助程序员调试程序。Python语言特点-跨平台 Python会先被编译为与平台相关的二进制会先被编译为与平台相关的二进制代码,然后再解释执行。这种方式类似于代码,然后再解释执行。这种方式类似于Java,但,但Python的执行速度提高
11、了。的执行速度提高了。Python编写的应用程序可以运行在编写的应用程序可以运行在Windows、Unix、Linux等不同的操作系统上。在一种等不同的操作系统上。在一种操作系统上编写的操作系统上编写的Python代码只需做少量代码只需做少量修改,就可移植到其他的操作系统上。修改,就可移植到其他的操作系统上。Python语言特点-可扩展、动态性可扩展性可扩展性 Python是采用是采用C开发的语言,因此可以使用开发的语言,因此可以使用C扩展扩展Python,可以给,可以给Python添加新的模块、新的类。添加新的模块、新的类。同时同时Python可以嵌入可以嵌入C、C+语言开发项目中,使语言开
12、发项目中,使程序具备脚本语言的特性。程序具备脚本语言的特性。动态性动态性 Python与与JavaScript、PHP、Perl等语言类似,它不等语言类似,它不需要另外声明变量、直接赋值即可创建一个新的需要另外声明变量、直接赋值即可创建一个新的变量。变量。Python语言特点-强类型、应用广泛强类型语言强类型语言 Python的变量创建后会对应一种类型,它可根据的变量创建后会对应一种类型,它可根据赋值表达式的内容决定变量的类型。赋值表达式的内容决定变量的类型。Python在内在内部建立了管理这些变量的机制,不同类型的变量部建立了管理这些变量的机制,不同类型的变量需要类型转换。需要类型转换。应用
13、广泛应用广泛 Python语言应用于数据库、网络、图形图像、数语言应用于数据库、网络、图形图像、数学计算、学计算、Web开发、操作系统扩展等领域。有许开发、操作系统扩展等领域。有许多第三方库支持多第三方库支持Python。Python下载1、访问、访问Python下载页面下载页面https:/www.python.org/downloads/比较Python 2和Python 3 Python 3发布于发布于2008年底,是一次重大的升级。年底,是一次重大的升级。Python 3的有些改进不向后与的有些改进不向后与Python 2兼容,因此兼容,因此Python 2始终与始终与Python 3
14、并行地向前发展。并行地向前发展。全面了解全面了解Python 3和和Python 2之间的差异,可参阅之间的差异,可参阅Whats New in Python 3.0(http:/docs.python.org/3/whatsnew/3.0.html)。)。工具工具2to3(http:/docs.python.org/3/library/2to3.html)几乎能将任何)几乎能将任何Python 2程序自动转换为等价的程序自动转换为等价的Python 3程程序。序。2.Python 基本语法1、命名规则、命名规则 Python语言有一套自己的命名规则。命名规则并不是语法语言有一套自己的命名规则
15、。命名规则并不是语法规定,只是一种习惯用法。规定,只是一种习惯用法。(1)变量名、模块名、包名变量名、模块名、包名 通常采用小写,可使用下划线。通常采用小写,可使用下划线。例如:例如:rulemodule.py#模块名,即文件名模块名,即文件名_rule=rule information#_rule变量变量名,通常前缀有一个下划名,通常前缀有一个下划线的变量名为全局变量线的变量名为全局变量(2)类名、对象名)类名、对象名类首字母采用大写;类首字母采用大写;类中的方法名首字母小写,其后的每个单词的首字母大写;类中的方法名首字母小写,其后的每个单词的首字母大写;对象名(类的实例)采用小写;对象名(
16、类的实例)采用小写;类外引用其属性和方法名时,以对象名作为前缀。类外引用其属性和方法名时,以对象名作为前缀。类的私有变量、私有方法以两个下划线作为前缀。类的私有变量、私有方法以两个下划线作为前缀。(3)函数名)函数名函数名通常采用小写,并用下划线或单词首字母大写增加名称的可读性。函数名通常采用小写,并用下划线或单词首字母大写增加名称的可读性。导入的函数以模块名作前缀。导入的函数以模块名作前缀。下例中,为演示导入函数前缀写法,使用了生成随机数的模块下例中,为演示导入函数前缀写法,使用了生成随机数的模块random。该模块有一个函数。该模块有一个函数randrange(),该函数可以根据给定的数字
17、范围生成随机数。其声明为:,该函数可以根据给定的数字范围生成随机数。其声明为:randrange(start,stop,step)说明:说明:参数参数start表示生成随机数所在范围的开始数字。表示生成随机数所在范围的开始数字。参数参数stop表示生成随机数所在范围的结束数字,但不包括数字表示生成随机数所在范围的结束数字,但不包括数字stop。参数参数step表示步长。生成的随机数在表示步长。生成的随机数在start,stop-1的范围内,取值等于的范围内,取值等于start+step。2、对于对于C、C+、Java等语言,代码缩进只是作为编等语言,代码缩进只是作为编程的一种良好习惯。程的一种
18、良好习惯。对于对于Python而言,代码缩进是一种语法。而言,代码缩进是一种语法。Python语言中没有采用花括号或语言中没有采用花括号或beginend分隔代码块分隔代码块,而是使用冒号和代码缩进区分代码之间的层次,而是使用冒号和代码缩进区分代码之间的层次。执行结果:执行结果:3、模块是类或函数的集合,用于处理一类问题,使用模块是类或函数的集合,用于处理一类问题,使用任何任何Python模块都模块都必须先导必须先导入。模块的导入使用入。模块的导入使用import语句或语句或fromimport语句。语句。(1)import语句语句例如:导入数学函数模块例如:导入数学函数模块math,调用其中
19、的函数,调用其中的函数。使用第二种导入方式,在调用使用第二种导入方式,在调用math模块中的任何函数时,都无需在前面加上模块中的任何函数时,都无需在前面加上“math.”。使用第二种导入方式时,如果程序中的函数与使用第二种导入方式时,如果程序中的函数与math模块中的某个函数同名,将被模块中的某个函数同名,将被math模块中的同名函数覆盖。第一种导入方式不会覆盖任何既有函数,但使用起来不如第模块中的同名函数覆盖。第一种导入方式不会覆盖任何既有函数,但使用起来不如第二种方式简洁。二种方式简洁。还可以导入模块还可以导入模块math的特定函数。例如:的特定函数。例如:from math import
20、 sqrt,tan 只导入函数只导入函数sqrt和和tan。变量是计算机内存中的一块区域,变量可以存储任变量是计算机内存中的一块区域,变量可以存储任何值(也称指向),而且值可以改变。何值(也称指向),而且值可以改变。例如:例如:1、变量名的长度不受限制,其中的字符必须是字母、数字或下划线(变量名的长度不受限制,其中的字符必须是字母、数字或下划线(_),不能使用空格、连字符、标点符号、引号),不能使用空格、连字符、标点符号、引号或其他字符或其他字符变量名的第一个字符不能是数字,必须是字母或下划线。变量名的第一个字符不能是数字,必须是字母或下划线。Python区分大小写区分大小写,因此,因此TAX
21、、Tax和和tax是截然不同的变量名。是截然不同的变量名。不能将不能将Python关键字(或称为保留词)用作变量名。例如:关键字(或称为保留词)用作变量名。例如:if、else、while、def、or、and、not、in和和is都是都是Python关键字。关键字。andasassertbreakclasscontinuedefdelelifelseexceptexecFalsefinallyforfromglobalifimportinislambdanotNoneorpassprintraisereturntryTruewhilewithyield格式:格式:var =value 左值左
22、值 右值右值 赋值运算符赋值运算符功能:定义新的变量;让已定义的功能:定义新的变量;让已定义的 变量指向特定值。变量指向特定值。Python中,有一种便利的方法,能够同时给多个变中,有一种便利的方法,能够同时给多个变量赋值。量赋值。Python的运算符包括算术运算符、关系运算符和逻辑运算符。的运算符包括算术运算符、关系运算符和逻辑运算符。表达式是由数字或字符串和运算符组成的有意义的式子。表达式是由数字或字符串和运算符组成的有意义的式子。(1)整数运算)整数运算名名 称称运算符运算符示示 例例加加+3+47减减5-32乘乘*2*36除除/3/21.5整除整除/3/21求余求余%25%31乘方乘方
23、*3*327 运算顺序运算顺序Python算术运算的规则与常规算术的规则相同。算术运算的规则与常规算术的规则相同。长度长度不受限制不受限制与其他大多数编程语言不同,与其他大多数编程语言不同,Python对整数的长度没有限制,可以执行数十位甚至数百数千位的整对整数的长度没有限制,可以执行数十位甚至数百数千位的整数运算。数运算。如:如:27*100在在Python中,浮点数是带小数点的数字。例如:中,浮点数是带小数点的数字。例如:-3.1、2.999和和-4.0都是浮点数。都是浮点数。所有适合用于整数的算术运算符都可用于浮点数,包括所有适合用于整数的算术运算符都可用于浮点数,包括%(求余)和(求余
24、)和/(整除)(整除)关系运算符关系运算符关系表达式关系表达式描述描述优先级优先级xxy大于大于=x=x=y大于等于大于等于=x=y等于等于优先级相等优先级相等!=x!=y不等于不等于例如:相当于:相当于:31逻辑运算符逻辑运算符逻辑表达式逻辑表达式描述描述优先级优先级andx and y逻辑与,当逻辑与,当x为为True时,才计时,才计算算y优先级相等优先级相等orx or y逻辑或,当逻辑或,当x为为False时,才计时,才计算算ynotnot x逻辑非逻辑非优先级大于优先级大于and和和orpqp and qp or qnot pFalseFalseFalseFalseTrueFalse
25、TrueFalseTrueTrueTrueFalseFalseTrueFalseTrueTrueTrueTrueFalse 算术运算符优先级最高算术运算符优先级最高 关系运算符优先级次之关系运算符优先级次之 逻辑运算符优先级最低逻辑运算符优先级最低3.Python 数据结构概述Python秉承方便程序员的理念,提供了几个功能强大秉承方便程序员的理念,提供了几个功能强大而高效的数据结构:元组、列表、字典和集合。程序而高效的数据结构:元组、列表、字典和集合。程序员可以根据需要组合使用它们,以创建更复杂的数据员可以根据需要组合使用它们,以创建更复杂的数据结构。结构。在在Python中,两个主力数据结
26、构是列表和字典。列表中,两个主力数据结构是列表和字典。列表按顺序存储数据,而字典就像小型数据库,使用键高按顺序存储数据,而字典就像小型数据库,使用键高效地存储和检索数据。效地存储和检索数据。元组元组是一种不可变序列,即创建之后不能再做任何修改。元组是一种不可变序列,即创建之后不能再做任何修改。元组由不同的元素组成,每个元素可以存储不同类型的数据,如字符串、数字甚至元组由不同的元素组成,每个元素可以存储不同类型的数据,如字符串、数字甚至元组。元组。元组通常代表一行数据,而元组中的元素代表不同的数据项。元组通常代表一行数据,而元组中的元素代表不同的数据项。格式:格式:tuple=(元素元素1,元素
27、元素2,元素元素n)#定义定义n个元素组成的元组个元素组成的元组 tuple=()#定义空元组定义空元组 tuple=(元素元素1,)#定义单元素元组定义单元素元组元组执行结果:执行结果:元组元组中元素的值通过索引访问,索引是一对方括号中的数字,索引也称元组中元素的值通过索引访问,索引是一对方括号中的数字,索引也称为为“下标下标”。格式:格式:tuplen#访问第访问第n个元素个元素 tuplem:n#访问第访问第1个索引到第个索引到第2个索引之间的索引元素,但不包括第个索引之间的索引元素,但不包括第2个个索引指向的元素索引指向的元素其中,其中,n、m可以为可以为0、正、负整数。、正、负整数。
28、网址:http:/ 西 普 教 育元组元组操作元组列表列表是列表是Python中非常重要的数据类型,通常作为函数的返回类型。中非常重要的数据类型,通常作为函数的返回类型。列表和元组相似,也是由一组元素组成。列表可包含任何类型的值:数字、字符串甚至序列表和元组相似,也是由一组元素组成。列表可包含任何类型的值:数字、字符串甚至序列。列。列表与元组的重要差别是列表是可变的,即可以在不复制的情况下添加、删除或修改列表列表与元组的重要差别是列表是可变的,即可以在不复制的情况下添加、删除或修改列表元素。元素。格式:格式:list=元素元素1,元素元素2,元素元素n#定义定义n个元素组成的列表个元素组成的列
29、表 list=#定义空列表定义空列表 list=x#定义只包含一个元素的列表,与元组不同,最后的逗号不是必须的定义只包含一个元素的列表,与元组不同,最后的逗号不是必须的说明说明:列表:列表用方括号括起,其中元素用逗号分隔用方括号括起,其中元素用逗号分隔列表创建列表执行结果:执行结果:列表列表的使用与元组十分相似,同样支持负数索引、分片以及多元列表等特性,但列表的元素列表的使用与元组十分相似,同样支持负数索引、分片以及多元列表等特性,但列表的元素可修改。可修改。与字符串和元组一样,可使用与字符串和元组一样,可使用len获取列表长度,还可使用获取列表长度,还可使用+和和*拼接列表。拼接列表。列表函
30、数函数返回值返回值s.append(x)在列表在列表s末尾处添加元素末尾处添加元素xs.count(x)返回元素返回元素x在列表中出现的次数在列表中出现的次数s.extend(lst)将将lst的所有元素都添加到列表的所有元素都添加到列表s末尾末尾s.index(x)返回第一个返回第一个x元素的索引元素的索引s.insert(i,x)将元素将元素x插入到索引插入到索引i指定的元素前面,结果是指定的元素前面,结果是si=xs.pop(i)删除并返回删除并返回s中索引为中索引为i的元素的元素s.remove(x)删除删除s中的第一个中的第一个x元素元素s.reverse(x)反转反转s中元素的排列
31、顺序中元素的排列顺序s.sort()将将s的元素按升序排列的元素按升序排列列表执行结果:执行结果:字典字典是字典是Python重要的数据类型,字典是由重要的数据类型,字典是由“键键值值”对组成的集合,字典中的对组成的集合,字典中的“值值”通过通过“键键”来引用。来引用。字典也称为关联数组、映射或散列表。字典也称为关联数组、映射或散列表。Python字典利用了字典利用了“散列散列”方法,使用专门的散列函数完成,即字典中的每个键都被转换为方法,使用专门的散列函数完成,即字典中的每个键都被转换为一个数字一个数字散列值。字典中值存储在一个底层列表中,并用散列值作为索引。访问值时,将散列值。字典中值存储
32、在一个底层列表中,并用散列值作为索引。访问值时,将提供的键转为散列值,再跳到列表的相应位置。提供的键转为散列值,再跳到列表的相应位置。使用使用“键键”来访问字典值效率极高。另外与列表一样,字典也是可以改变的:可以添加、删来访问字典值效率极高。另外与列表一样,字典也是可以改变的:可以添加、删除或修改除或修改“键键值值”对。对。格式:格式:dictionary=key1:value1,key2:value2,keyn:valuen)#创建创建n个个“键键值值”对组成的字典对组成的字典 dictionar=#创建空字典创建空字典注意,对于字典的键有两个限制:注意,对于字典的键有两个限制:字典中的键必
33、须独一无二,即在同一个字典中,任何两个键字典中的键必须独一无二,即在同一个字典中,任何两个键值对都不能相同;值对都不能相同;键必须是不可变的。因此,字典键不能是列表、字典键必须是不可变的。因此,字典键不能是列表、字典对值没有这两个限制。对值没有这两个限制。字典字典的访问与元组、列表有所不同,元组和列表是通过数字索引获取对应的值,而字典是通过字典的访问与元组、列表有所不同,元组和列表是通过数字索引获取对应的值,而字典是通过key值获取相应的值获取相应的value值。值。格式:格式:value=dictkey说明:说明:字典的添加、删除和修改只需执行一条赋值语句即可,例如:字典的添加、删除和修改只
34、需执行一条赋值语句即可,例如:dictx=value 字典没有字典没有remove操作。删除字典元素可调用内置函数操作。删除字典元素可调用内置函数del()完成。完成。字典执行结果:执行结果:字典函数名函数名返回的值返回的值d.item()返回一个由字典返回一个由字典d的键的键值对值对(key,value)组成的视图组成的视图(view)d.keys()返回一个由字典返回一个由字典d的键组成的视图的键组成的视图d.value()返回一个有字典返回一个有字典d的值组成的视图的值组成的视图d.get(key)返回与返回与key相关联的值相关联的值d.pop(key)删除键删除键key并返回与之相关
35、联的值并返回与之相关联的值d.popitem()删除字典删除字典d中某个键中某个键值对并返回相应的键值对并返回相应的键值对值对d.clear()删除字典删除字典d的所有元素的所有元素d.copy()复制字典复制字典dd.fromkeys(s,t)创建一个新字典,其中的键来自创建一个新字典,其中的键来自s,值来自,值来自td.setdefault(key,v)如果键如果键key包含在字典包含在字典d中,则返回其值;否则返回中,则返回其值;否则返回v并将并将(key,v)添加添加到字典到字典d中中d.update(e)将将e中的键中的键值对添加到字典值对添加到字典d中;中;e可能是字典,也可能是键
36、可能是字典,也可能是键值对值对序列序列字典集合在在Python中,集合是一系列不重复的元素。集合类似于字典,但只包含键,而没有中,集合是一系列不重复的元素。集合类似于字典,但只包含键,而没有相关联的值。相关联的值。在在Python中,集合是相对较新的功能,在其还不支持集合时,一般使用字典模拟集中,集合是相对较新的功能,在其还不支持集合时,一般使用字典模拟集合。合。集合分两类:可变集合(集合分两类:可变集合(set)和不可变集合()和不可变集合(frozenset)。对于可变集合,可添加)。对于可变集合,可添加和删除元素,而不可变集合一旦创建就不能更改。和删除元素,而不可变集合一旦创建就不能更改
37、。与字典一样,集合的元素排列顺序也是不确定的。与字典一样,集合的元素排列顺序也是不确定的。集合没有列表和字典用得多,本章简要介绍,详细内容可参阅:集合没有列表和字典用得多,本章简要介绍,详细内容可参阅:https:/docs.python.org/3/library/stdtypes.html#set集合基本功能:集合基本功能:包括关系测试和消除重复元素。集合对象还支持包括关系测试和消除重复元素。集合对象还支持 union(联合),(联合),intersection(交),(交),difference(差)和(差)和 sysmmetric difference(对称差集,即异或)等数学运(对称
38、差集,即异或)等数学运算。算。大括号或大括号或 set()函数可以用来创建集合。函数可以用来创建集合。注意:想要创建空集合,必须使用注意:想要创建空集合,必须使用 set()而不是。而不是。集合执行结果:执行结果:集合集合操作集合操作执行结果:执行结果:4.Python字符串字符串在在Python中,字符串是除数字外最重要的数据类型。字符串无处不在:将字符串输出中,字符串是除数字外最重要的数据类型。字符串无处不在:将字符串输出到屏幕上;从用户的键盘输入读取字符串;文件通常被视为大型字符串;网页大部分到屏幕上;从用户的键盘输入读取字符串;文件通常被视为大型字符串;网页大部分是由文本组成的。是由文
39、本组成的。字符串是一种聚合数据结构,可充分利用索引和切片字符串是一种聚合数据结构,可充分利用索引和切片用于从字符串中提取子串。用于从字符串中提取子串。而而Python正则表达式库,是一种用来处理字符串的微型语言,但功能强大。正则表达式库,是一种用来处理字符串的微型语言,但功能强大。Python中,字符串、列表和元组都属于序列。中,字符串、列表和元组都属于序列。序列有一些通用的操作。包括:索引(序列有一些通用的操作。包括:索引(indexing)、分片()、分片(slicing)、加()、加(adding)、乘(、乘(multiplying)、检查某个元素是否属于序列的成员(成员资格)、计算序列
40、)、检查某个元素是否属于序列的成员(成员资格)、计算序列长度、找出最大元素和最小元素等。长度、找出最大元素和最小元素等。字符串1、索引、索引序列中的所有元素都是有编号的序列中的所有元素都是有编号的从从0开始递增。这些元素可以通过编号分别访问。开始递增。这些元素可以通过编号分别访问。索引有正索引和负索引,可根据实际情况选用。索引有正索引和负索引,可根据实际情况选用。字符串就是一个由字符组成的序列,处理字符串时,经常需要访问其中的各个字符。字符串就是一个由字符组成的序列,处理字符串时,经常需要访问其中的各个字符。索引索引0指向第指向第1个字符。个字符。字符串执行结果:执行结果:字符串与使用索引访问
41、单个元素类似,可以使用分片操作来访问一定范围内的元素。与使用索引访问单个元素类似,可以使用分片操作来访问一定范围内的元素。分片是实际应用中经常使用的技术,被截取的部分称为分片是实际应用中经常使用的技术,被截取的部分称为“子串子串”Python 3支持的分片格式为:支持的分片格式为:Si:j:k表示:索引表示:索引S对象中的元素,从索引为对象中的元素,从索引为i直到索引为直到索引为j-1,每隔,每隔k个元素索引一次,个元素索引一次,第三个限制第三个限制k为步长,默认为为步长,默认为1,也可以使用负数作为步长,步长,也可以使用负数作为步长,步长-1表示分片将表示分片将会从右至左进行而不是通常的从左
42、至右,实际效果主是将序列反转。会从右至左进行而不是通常的从左至右,实际效果主是将序列反转。在在Python中,还可以使用中,还可以使用split()函数来截取字符串。函数来截取字符串。字符串3、序列相加(字符、序列相加(字符串连串连接、合并)接、合并)之前介绍过,使用之前介绍过,使用“+”完成。除此之外,还可以使用完成。除此之外,还可以使用join函数和函数和reduce函数函数实现字符串的合并。注意:不同类型的数据不能相加。实现字符串的合并。注意:不同类型的数据不能相加。如:如:4、乘法、乘法用数字用数字x乘以一个序列会生成新的序列,在新的序列中,原来的序列被重复乘以一个序列会生成新的序列,
43、在新的序列中,原来的序列被重复x次。次。如:如:字符串为了检查一个值是否在序列中,可以使用为了检查一个值是否在序列中,可以使用in运算符。该运算符检查某个条件是否为真运算符。该运算符检查某个条件是否为真,若为真返回,若为真返回True,否则返回,否则返回False。例如:例如:len、min和和max都是内置函数。都是内置函数。len返回序列中包含的元素个数。返回序列中包含的元素个数。min返回序列中的最小值。返回序列中的最小值。max返回序列中的最大值。返回序列中的最大值。例如:例如:字符串常用函数Python字符串自带了两个替换函数,如下表所示字符串自带了两个替换函数,如下表所示函数名函数
44、名返回的字符串返回的字符串s.replace(old,new)将将s中的每个中的每个old替换为替换为news.expandtabs(n)将将s中的每个制表符扩展为空格,空格宽度为中的每个制表符扩展为空格,空格宽度为n字符串之前介绍过,之前介绍过,Python可使用可使用“+”连接不同的字符串。连接不同的字符串。除此之外,还可以使用除此之外,还可以使用join函数(是函数(是split方法的逆方法)和方法的逆方法)和reduce函数实现字符串的合并。函数实现字符串的合并。执行结果:执行结果:字符串拆分函数将字符串拆分成多个子串。如下表所示拆分函数将字符串拆分成多个子串。如下表所示函数函数返回的
45、字符串返回的字符串s.partition(t)将将s拆分为三个字符串(拆分为三个字符串(head、t和和tail),其中),其中head为为t前面的子串,前面的子串,tail为为t后面的子串。返回值为元组后面的子串。返回值为元组s.rpartition(t)与与partition相同,但从相同,但从s的右端开始搜索的右端开始搜索t。返回值为元。返回值为元组组s.split(t)以以t为分隔符,将为分隔符,将s划分成一系列子串,并返回一个由划分成一系列子串,并返回一个由这些子串组成的列表这些子串组成的列表s.rsplit(t)与与split相同,但从相同,但从s的右端开始搜索的右端开始搜索ts.
46、splitlines()返回一个由返回一个由s中的各行组成的列表中的各行组成的列表字符串执行结果:执行结果:字符串函数名函数名返回的字符串返回的字符串s.capitalize()将将s0改为大写,其余小写改为大写,其余小写s.lower()让让s的所有字母都小写的所有字母都小写s.upper()让让s的所有字母都大写的所有字母都大写s.swapcase()将小写字母改为大写,并将大写字母改为小写将小写字母改为大写,并将大写字母改为小写s.title()让让s的大小写符合标题的要求的大小写符合标题的要求说明:在以上函数中,说明:在以上函数中,Python都创建并返回一个新字符串,都创建并返回一个新字符串,Python不会真正修改原字符串。不会真正修改原字符串。字符串例子5.Python 简单程序编写
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。