Python第六章字符串课件.ppt

上传人(卖家):晟晟文业 文档编号:4671426 上传时间:2022-12-31 格式:PPT 页数:66 大小:586.76KB
下载 相关 举报
Python第六章字符串课件.ppt_第1页
第1页 / 共66页
Python第六章字符串课件.ppt_第2页
第2页 / 共66页
Python第六章字符串课件.ppt_第3页
第3页 / 共66页
Python第六章字符串课件.ppt_第4页
第4页 / 共66页
Python第六章字符串课件.ppt_第5页
第5页 / 共66页
点击查看更多>>
资源描述

1、2022-10-101 概述概述 通用序列操作通用序列操作 字符串格式化字符串格式化 字符串方法字符串方法 正则表达式简介正则表达式简介2022-10-102 在在Python中,字符串是除数字外最重要的中,字符串是除数字外最重要的数据类型。字符串无处不在:将字符串输出数据类型。字符串无处不在:将字符串输出到屏幕上;从用户的键盘输入读取字符串;到屏幕上;从用户的键盘输入读取字符串;文件通常被视为大型字符串;网页大部分是文件通常被视为大型字符串;网页大部分是由文本组成的。由文本组成的。字符串是一种聚合数据结构,可充分利用索字符串是一种聚合数据结构,可充分利用索引和切片引和切片用于从字符串中提取子

2、串。用于从字符串中提取子串。而而Python正则表达式库,是一种用来处理正则表达式库,是一种用来处理字符串的微型语言,但功能强大。字符串的微型语言,但功能强大。2022-10-103 Python中,字符串、列表和元组都属于中,字符串、列表和元组都属于序列。序列。序列有一些通用的操作。包括:索引(序列有一些通用的操作。包括:索引(indexing)、分片()、分片(slicing)、加()、加(adding)、乘()、乘(multiplying)、检查)、检查某个元素是否属于序列的成员(成员资格某个元素是否属于序列的成员(成员资格)、计算序列长度、找出最大元素和最小)、计算序列长度、找出最大元

3、素和最小元素等。元素等。2022-10-104 序列中的所有元素都是有编号的序列中的所有元素都是有编号的从从0开始开始递增。这些元素可以通过编号分别访问。递增。这些元素可以通过编号分别访问。索引有正索引和负索引,可根据实际情况索引有正索引和负索引,可根据实际情况选用。选用。字符串就是一个由字符组成的序列,处理字符串就是一个由字符组成的序列,处理字符串时,经常需要访问其中的各个字符字符串时,经常需要访问其中的各个字符。索引。索引0指向第指向第1个字符。个字符。2022-10-1052022-10-1062022-10-107执行结果:执行结果:2022-10-108执行结果:执行结果:与使用索引

4、访问单个元素类似,可以使用分片操作与使用索引访问单个元素类似,可以使用分片操作来访问一定范围内的元素。分片是实际应用中经常来访问一定范围内的元素。分片是实际应用中经常使用的技术,被截取的部分称为使用的技术,被截取的部分称为“子串子串”Python 3支持的分片格式为:支持的分片格式为:Si:j:k 表示:索引表示:索引S对象中的元素,从索引为对象中的元素,从索引为i直到索引为直到索引为j-1,每隔,每隔k个元素索引一次,第三个限制个元素索引一次,第三个限制k为步长为步长,默认为,默认为1,也可以使用负数作为步长,步长,也可以使用负数作为步长,步长-1表表示分片将会从右至左进行而不是通常的从左至

5、右,示分片将会从右至左进行而不是通常的从左至右,实际效果主是将序列反转。实际效果主是将序列反转。在在Python中,还可以使用中,还可以使用split()函数来截取字函数来截取字符串。符串。2022-10-1092022-10-1010执行结果:执行结果:2022-10-1011执行结果:执行结果:2022-10-10123、序列相加(字符、序列相加(字符串连串连接、合并)接、合并)之前介绍过,使用之前介绍过,使用“+”完成。除此之外,还可完成。除此之外,还可以使用以使用join函数和函数和reduce函数实现字符串的合函数实现字符串的合并。注意:不同类型的数据不能相加。并。注意:不同类型的数

6、据不能相加。如:如:4、乘法、乘法 用数字用数字x乘以一个序列会生成新的序列,在新的乘以一个序列会生成新的序列,在新的序列中,原来的序列被重复序列中,原来的序列被重复x次。次。如:如:为了检查一个值是否在序列中,可以使用为了检查一个值是否在序列中,可以使用in运算符。该运算符检查某个条件是否为运算符。该运算符检查某个条件是否为真,若为真返回真,若为真返回True,否则返回,否则返回False。例如:例如:2022-10-1013 len、min和和max都是内置函数。都是内置函数。len返回序列中包含的元素个数。返回序列中包含的元素个数。min返回序列中的最小值。返回序列中的最小值。max返回

7、序列中的最大值。返回序列中的最大值。例如:例如:2022-10-1014 课堂练习一2022-10-10151、字符串格式化、字符串格式化 C语言使用函数语言使用函数printf()格式化输出结果,格式化输出结果,Python也提供了类似功能。也提供了类似功能。Python将若干值插入带有将若干值插入带有“%”标记的字符串标记的字符串中,从而可以按照指定格式输出字符串。中,从而可以按照指定格式输出字符串。语法:语法:%s%str1%s%s%(str1,str2)2022-10-10162022-10-1017执行结果:执行结果:2022-10-1018执行结果:执行结果:符号符号描述描述符号符

8、号描述描述%c格式化字符及其格式化字符及其ASCII码码%f格式化浮点数字,可指定小数格式化浮点数字,可指定小数点后的精度点后的精度%s格式化字符串格式化字符串%e用科学计数法格式化浮点数用科学计数法格式化浮点数%d格式化整数格式化整数%E作用同作用同%e%u格式化无符号整数格式化无符号整数%g根据值的大小决定使用根据值的大小决定使用%f或或%e%o格式化无符号八进制数格式化无符号八进制数%G作用同作用同%g%x格式化无符号十六进制数格式化无符号十六进制数%p用十六进制数格式化变量的地用十六进制数格式化变量的地址址%X格式化无符号十六进制数(大格式化无符号十六进制数(大写)写)%若在字符串中输

9、出若在字符串中输出“%”,需,需要使用要使用“%”2022-10-1019 在字段宽度和精度之间还可以放置一个在字段宽度和精度之间还可以放置一个“标志标志”,该标志,该标志可以是零、加号、减号或空格。零表示数字将会用可以是零、加号、减号或空格。零表示数字将会用0填充。填充。2022-10-1020执行结果:执行结果:计算机中存在可见字符与不可见字符。可见计算机中存在可见字符与不可见字符。可见字符指键盘上的字母、数字和符号。不可见字符指键盘上的字母、数字和符号。不可见字符是指换行、回车、制表符等字符。字符是指换行、回车、制表符等字符。对于不可见字符,对于不可见字符,Python使用的方法类似使用

10、的方法类似于于C语言,都是使用语言,都是使用“”作为转义字符。作为转义字符。Python还提供了函数还提供了函数strip()、lstrip()、rstrip()去除字符串中的转义字符。去除字符串中的转义字符。2022-10-1021符号符号描述描述符号符号描述描述反斜线反斜线v纵向制表符纵向制表符单引号单引号r回车符回车符”双引号双引号f换页符换页符a发出系统响铃声发出系统响铃声o八进制数代表的字符八进制数代表的字符b退格符退格符x十六进制数代表的字符十六进制数代表的字符n换行符换行符000终止符,其后的字符串全部忽略终止符,其后的字符串全部忽略t横向制表符横向制表符2022-10-1022

11、2022-10-1023执行结果:执行结果:Python字符串自带了大量很有用的函数,要查字符串自带了大量很有用的函数,要查看这些函数,可调用看这些函数,可调用dir并将参数指定为任何字符并将参数指定为任何字符串(如:串(如:dir())。)。虽无必要准确记住所有函数功能,但最好有个大虽无必要准确记住所有函数功能,但最好有个大致了解,这样有益于需要时去查询具体使用。致了解,这样有益于需要时去查询具体使用。字符串函数的详细介绍可参阅其文档字符串或字符串函数的详细介绍可参阅其文档字符串或Python在线文档(在线文档(https:/docs.python.org/3/)。)。此处介绍常用的字符串函

12、数。此处介绍常用的字符串函数。2022-10-1024 用于检测字符串是否为特定格式的函数,用于检测字符串是否为特定格式的函数,它们组成了一个最大的字符串函数组。它们组成了一个最大的字符串函数组。测试函数都返回测试函数都返回True或或False,因此也称,因此也称为布尔函数或谓词。为布尔函数或谓词。2022-10-1025函数名函数名何时返回何时返回True函数名函数名何时返回何时返回Trues.endswith(t)s以字符串以字符串t结尾结尾s.islower()s只包含小写字母只包含小写字母s.startswith(t)s以字符串以字符串t打头打头s.isnumeric()s只包含数字

13、只包含数字s.isalnum()s只包含字母和数只包含字母和数字字s.isprintable()s只包含可打印字只包含可打印字符符s.isalpha()s只包含字母只包含字母s.isspace()s只包含空白字符只包含空白字符s.isdecimal()s只包含表示十进只包含表示十进制数字的字符制数字的字符s.istitle()s是个大小写符合是个大小写符合标题要求的字符串标题要求的字符串s.isdigit()s只包含数字字符只包含数字字符s.isupper()s只包含大写字母只包含大写字母s.isidentifier()s是合法的标识符是合法的标识符t in ss包含字符串包含字符串t2022

14、-10-10262022-10-1027函数名函数名返回值返回值s.find(t)若未找到字符串若未找到字符串t,则返回,则返回-1;否则返回;否则返回t在在s中的起始位置中的起始位置s.rfind(t)与与find相同,但从右往左查找相同,但从右往左查找s.index(t)与与find相同,但如果在相同,但如果在s中找不到中找不到t,则,则引发引发ValueError异常异常s.rindex(t)与与index相同,但从右往左查找相同,但从右往左查找2022-10-1028 说明:函数说明:函数index和和find之间的差别在于没有找到指定之间的差别在于没有找到指定子串的情形。函数子串的情

15、形。函数index引发异常引发异常ValueError,而函,而函数数find将返回将返回-1。2022-10-1029执行结果:执行结果:函数名函数名返回的字符串返回的字符串s.replace(old,new)将将s中的每个中的每个old替换为替换为news.expandtabs(n)将将s中的每个制表符扩展为空格,空格宽度为中的每个制表符扩展为空格,空格宽度为n2022-10-1030 Python字符串自带了两个替换函数,如下表所字符串自带了两个替换函数,如下表所示。示。注意:使用替换函数可轻松地删除字符串中的子注意:使用替换函数可轻松地删除字符串中的子串。串。2022-10-1031执

16、行结果:执行结果:之前介绍过,之前介绍过,Python可使用可使用“+”连接不连接不同的字符串。同的字符串。除此之外,还可以使用除此之外,还可以使用join函数(是函数(是split方法的逆方法)和方法的逆方法)和reduce函数实现字符串函数实现字符串的合并。的合并。2022-10-10322022-10-1033执行结果:执行结果:2022-10-1034执行结果:执行结果:函数函数返回的字符串返回的字符串s.partition(t)将将s拆分为三个字符串(拆分为三个字符串(head、t和和tail),其中),其中head为为t前面的子串,前面的子串,tail为为t后面的子串。返回值为后面

17、的子串。返回值为元组元组s.rpartition(t)与与partition相同,但从相同,但从s的右端开始搜索的右端开始搜索t。返回值。返回值为元组为元组s.split(t)以以t为分隔符,将为分隔符,将s划分成一系列子串,并返回一个由划分成一系列子串,并返回一个由这些子串组成的列表这些子串组成的列表s.rsplit(t)与与split相同,但从相同,但从s的右端开始搜索的右端开始搜索ts.splitlines()返回一个由返回一个由s中的各行组成的列表中的各行组成的列表2022-10-1035 拆分函数将字符串拆分成多个子串。如下表所示。拆分函数将字符串拆分成多个子串。如下表所示。2022

18、-10-1036执行结果:执行结果:2022-10-1037执行结果:执行结果:在实际应用中,经常需要将日期类型与字在实际应用中,经常需要将日期类型与字符串类型互相转换。符串类型互相转换。Python提供了提供了time模块处理日期和时间模块处理日期和时间。函数。函数strftime()可以实现从时间到字符可以实现从时间到字符串的转换。串的转换。字符串到时间的转换要进行两次转换,需字符串到时间的转换要进行两次转换,需要使用要使用time模块和模块和datetime类。类。2022-10-1038 声明:声明:strftime(format,tuple)-string 说明:说明:参数参数for

19、mat表示格式化日期的特殊字符。例如:表示格式化日期的特殊字符。例如:“%Y-%m-%d”相当于相当于“yyyy-MM-dd”.参数参数tuple表示需要转换的时间,用元组存储。元组中表示需要转换的时间,用元组存储。元组中的元素分别表示年、月、日、时、分、秒。的元素分别表示年、月、日、时、分、秒。函数返回一个表示时间的字符串。函数返回一个表示时间的字符串。2022-10-1039 第一次转换:调用函数第一次转换:调用函数strptime()将字符串转将字符串转换为一个元组。其声明为:换为一个元组。其声明为:strptime(string,format)-struct_time 函数返回一个存放

20、时间的元组。函数返回一个存放时间的元组。第二次转换:将表示年、月、日的第二次转换:将表示年、月、日的3个变量传递个变量传递给函数给函数datetime()。datetime类的类的datetime()函数格式为:函数格式为:datetime(year,month,day,hour,minute,second,microsecond,tzinfo)函数返回一个函数返回一个date类型的变量。类型的变量。2022-10-1040符号符号描述描述符号符号描述描述%a英文星期的简写英文星期的简写%M分钟数,取值在分钟数,取值在0159之间之间%A英文星期的完整拼写英文星期的完整拼写%j显示从本年第显示

21、从本年第1天开始到当天的天天开始到当天的天数数%b英文月份的简写英文月份的简写%w显示今天是星期几,显示今天是星期几,0表示星期天表示星期天%B英文月份的完整拼写英文月份的完整拼写%W显示当天属于本年的第几周,以星显示当天属于本年的第几周,以星期一作为一周的第一条进行计算期一作为一周的第一条进行计算%c显示本地的日期和时间显示本地的日期和时间%x本地的当天日期本地的当天日期%d日期数,取值在日期数,取值在131之间之间%X本地的当天时间本地的当天时间%H小时数,取值在小时数,取值在0023之间之间%y年份,取值在年份,取值在0099之间之间%I小时数,取值在小时数,取值在0112之间之间%Y年

22、份的完整数字年份的完整数字%m月份,取值在月份,取值在0112之间之间2022-10-10412022-10-1042执行结果:执行结果:函数名函数名返回的字符串返回的字符串s.capitalize()将将s0改为大写,其余小写改为大写,其余小写s.lower()让让s的所有字母都小写的所有字母都小写s.upper()让让s的所有字母都大写的所有字母都大写s.swapcase()将小写字母改为大写,并将大写字母改为小写将小写字母改为大写,并将大写字母改为小写s.title()让让s的大小写符合标题的要求的大小写符合标题的要求2022-10-1043 说明:在以上函数中,说明:在以上函数中,Py

23、thon都创建并返回一个新字符都创建并返回一个新字符串,串,Python不会真正修改原字符串。不会真正修改原字符串。2022-10-1044函数名函数名返回的字符串返回的字符串s.center(n,ch)包含包含n个字符的字符串,其中个字符的字符串,其中s位于中间,两边用字符位于中间,两边用字符ch填充填充s.ljust(n,ch)包含包含n个字符的字符串,其中个字符的字符串,其中s位于左边,右边用字符位于左边,右边用字符ch填充填充s.rjust(n,ch)包含包含n个字符的字符串,其中个字符的字符串,其中s位于右边,左边边用字位于右边,左边边用字符符ch填充填充s.format(vars)

24、包含用于设置字符串格式的微型语言,详见:包含用于设置字符串格式的微型语言,详见:https:/docs.python.org/3.4/library/string.html#formatspec2022-10-10452022-10-1046执行结果:执行结果:函数名函数名返回的字符串返回的字符串s.strip(ch)从从s开头和末尾删除所有包含在字符串开头和末尾删除所有包含在字符串ch中的字符中的字符s.lstrip(ch)从从s开头(左端)删除所有包含在字符串开头(左端)删除所有包含在字符串ch中的字符中的字符s.rstrip(ch)从从s末尾(右端)删除所有包含在字符串末尾(右端)删除所

25、有包含在字符串ch中的字符中的字符2022-10-1047 剥除函数用于删除字符串开头或末尾多余的字符。如下表剥除函数用于删除字符串开头或末尾多余的字符。如下表所示。所示。默认情况下,剥除空白字符;如果指定了字符串参数,则默认情况下,剥除空白字符;如果指定了字符串参数,则剥除该字符串中的字符。剥除该字符串中的字符。2022-10-1048执行结果:执行结果:2022-10-1049执行结果:执行结果:Python直接使用直接使用“=”“”“!=”操作符比较两操作符比较两个字符串的内容。如果比较的两个变量的类型不个字符串的内容。如果比较的两个变量的类型不相同、比较的内容也不相同。相同、比较的内容

26、也不相同。若要比较字符串的部分内容,可以先截取子串,若要比较字符串的部分内容,可以先截取子串,再使用再使用“=”“”“!=”操作符进行比较。操作符进行比较。若要比较字符串的开头和结尾部分,更方便的方若要比较字符串的开头和结尾部分,更方便的方式是使用式是使用startswith()或或endswith()函数。函数。startswith()与与endswith()的声明为:的声明为:startswith(substring,start,end)endswith(substring,start,end)2022-10-10502022-10-1051执行结果:执行结果:2022-10-1052执行

27、结果:执行结果:一、假定给定两个字符串(它们可能是空串)一、假定给定两个字符串(它们可能是空串)s1和和s2,要将这两个串合并在一起。要求是:要将这两个串合并在一起。要求是:s1串的第一个字符串的第一个字符与与s2串的第一个字符连在一起,后续以此类推。若一个串的第一个字符连在一起,后续以此类推。若一个串的长度大于另一个串的长度,则保留长串的剩余字符,串的长度大于另一个串的长度,则保留长串的剩余字符,即连接到新串的末尾即可。例如:若即连接到新串的末尾即可。例如:若s1=abcd、s2=efghi,则新串为:,则新串为:aebfcgdhi。编写函数编写函数laceStrings(s1,s2),完成

28、上述功能。,完成上述功能。二、编写函数二、编写函数OnlyCharNum(s),对于给定的字符串,对于给定的字符串只显示字母和数字。只显示字母和数字。2022-10-1053 虽然虽然Python字符串提供了众多实用的函数,但实际处理字符串提供了众多实用的函数,但实际处理字符串时,常常需要更强大的工具。鉴于此,字符串时,常常需要更强大的工具。鉴于此,Python提提供了一种用于复杂字符串处理的微型语言供了一种用于复杂字符串处理的微型语言正则表达式,正则表达式,但但正则表达式并不是正则表达式并不是Python的一部分。的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特正则表达式是用于处

29、理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如的语法以及一个独立的处理引擎,效率上可能不如str自自带的方法,但功能十分强大。带的方法,但功能十分强大。实际上,正则表达式是一种实际上,正则表达式是一种简练描绘一组字符串的方式,可用于高效地执行常见的字简练描绘一组字符串的方式,可用于高效地执行常见的字符串处理任务,如匹配、替换和分拆字符串。符串处理任务,如匹配、替换和分拆字符串。使用正则表达式编写一些逻辑验证非常方便,如:电子邮使用正则表达式编写一些逻辑验证非常方便,如:电子邮件及电话号码的格式验证。件及电话号码的格式验证。Python提供了提供了re模块实现正模块

30、实现正则表达式的验证。则表达式的验证。2022-10-1054 正则表达式正则表达式是是包含元字符包含元字符(metacharacter)的列表的列表。Python支持的正则表达式元字符和语法支持的正则表达式元字符和语法2022-10-1055函函 数数描描 述述compile(pattern,flags)根据包含正则表达式的字符串创建模根据包含正则表达式的字符串创建模式对象式对象search(pattern,string,flags)在字符串中查找模式在字符串中查找模式match(pattern,string,flags)在字符串的开始处匹配模式在字符串的开始处匹配模式split(patte

31、rn,string)根据模式的匹配项来分割字符串根据模式的匹配项来分割字符串findall(pattern.String)列出字符串中模式的所有匹配项列出字符串中模式的所有匹配项sub(pat,repl,string.Count=0)将字符串中所有将字符串中所有pat的匹配项用的匹配项用repl替换替换escape(string)将字符串中所有特殊正则表达式字符将字符串中所有特殊正则表达式字符转义转义2022-10-10562022-10-10572022-10-1058方方 法法描描 述述group(group1,)获取给定子模式(组)的匹配项获取给定子模式(组)的匹配项start(grou

32、p)返回给定组的匹配项的开始位置返回给定组的匹配项的开始位置end(group)返回给定组的匹配项的结束位置(与分片一样,返回给定组的匹配项的结束位置(与分片一样,不包括组的结束位置)不包括组的结束位置)span(group)返回一个组的开始和结束位置返回一个组的开始和结束位置2022-10-10592022-10-1060执行结果:执行结果:通常的方法为:通常的方法为:2022-10-1061执行结果:执行结果:2022-10-1062执行结果:执行结果:2022-10-1063执行结果:执行结果:说明:本函数如果不使用正则说明:本函数如果不使用正则表达式,将非常麻烦。表达式,将非常麻烦。P

33、ython的的re模块规模庞大,其中有大量模块规模庞大,其中有大量正则表达式函数可用于执行字符串处理任正则表达式函数可用于执行字符串处理任务,如匹配、分拆和替换;还有提高常用务,如匹配、分拆和替换;还有提高常用正则表达式处理速度的技巧,以及众多匹正则表达式处理速度的技巧,以及众多匹配常用字符的捷径。配常用字符的捷径。re模块的文档可参见:模块的文档可参见:https:/docs.python.org/3/library/re.html2022-10-1064人有了知识,就会具备各种分析能力,明辨是非的能力。所以我们要勤恳读书,广泛阅读,古人说“书中自有黄金屋。”通过阅读科技书籍,我们能丰富知识,培养逻辑思维能力;通过阅读文学作品,我们能提高文学鉴赏水平,培养文学情趣;通过阅读报刊,我们能增长见识,扩大自己的知识面。有许多书籍还能培养我们的道德情操,给我们巨大的精神力量,鼓舞我们前进。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(Python第六章字符串课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|