收藏 分销(赏)

Python程序设计基础 Chap04 字符串.pdf

上传人:曲**** 文档编号:231261 上传时间:2023-03-21 格式:PDF 页数:57 大小:2.22MB
下载 相关 举报
Python程序设计基础 Chap04 字符串.pdf_第1页
第1页 / 共57页
Python程序设计基础 Chap04 字符串.pdf_第2页
第2页 / 共57页
Python程序设计基础 Chap04 字符串.pdf_第3页
第3页 / 共57页
Python程序设计基础 Chap04 字符串.pdf_第4页
第4页 / 共57页
Python程序设计基础 Chap04 字符串.pdf_第5页
第5页 / 共57页
点击查看更多>>
资源描述

1、-zj 一广口柠内家提纲e售4.1 字符串的基本操作.c4.2 字符串格式化4.3 常用字符串函数和方法引例治引例 看看这个简单的例子。当我们在利用QQ等通信工具向好友发送消息时,所发送的消息就是由一系列字符串组成的。我们发 送的消息会通过服务器中转,然后再发送到目的地。在这个过程中,服务器就是将消息的内容当成字符 串来处理的。4.1.1字符串的表示我们可以使用两个单引号()或两个双引号(”)括起 来创建字符串 str=fhow are you print(str)how are you str=nhow are you”print(str)how are you单引号、双引号、三引号4.1字

2、符串的基本操 4.1.1字符串的表示下面来看一些对比的例子#单引号中使用双引号 str2=HpythonH,#双引号中使用单引号 str3=,Hpython,H#三单引号 str4=,pythonM,#三单引号中间使用双引号 str5=python4.1字符串的基本操 4.1.1字符串的表示下面来看一些对比的例子#三单引号中有换行符 str6=H,hello python#三双引号中有换行符 str7=皿hello pythorT”4.1字符串的基本操 4.1.1字符串的表示下面来看一些对比的例子 print(str2)python”print(str3)python,print(str4)p

3、ython print(str5)python print(str6)hello python print(str7)hello python4.1字符串的基本操 4.1.1字符串的表示(1)单引号中可以使用双引号,中间的会当作字符串 输出。(2)双引号中可以使用单引号,中间的会当作字符串 输出。(3)三单引号和三双引号中间的字符串在输出时保持 原来的格式。4.1字符串的基本操:4.1.2索引 序列是有顺序的,可以根据字符在序列中的位置将其 编号,字符在字符串中的位置称为“索引”。在Python中,字符串中的字符是通过索引来提取的,索引从0开始。索引可以取负值,表示从末尾提取,最 后一个为-1

4、,倒数第二个为-2,即程序认为可以从结束 处反向计数。在Python中,不仅可以对单个字符建立索引,而且还 可以对字符串中的子串建立索引。:4.1.2索引 Python中用索引运算符“口”来提取字符串中的字符。字符串索引S0 Sl S2 S3 S4 S5 S6 S7 S8 S9 S100 1 2 3 4 5 6 7 8 9 10how are you-11-10-9-8-7-6-5-4-3-2-1S-ll S-10 S-9 S-8 S-7 S-6 S-5 S-4 S-3 S-2 S-l:4.1.2索引 若存取范围超过范围的索引位置(或空字符串中的索 引位置)会产生index out of ra

5、nge异常。s=how are you s11#索引超出字符串范围 Traceback(most recent call last):File”vpyshell#41 line 1,in s11 IndexE rror:string index out of range4.1字符串的基本操*4.1.3分片 与使用索引访问单个元素类似,可以使用分片操作来 访问一定范围内的元素。分片是实际应用中经常使用的技术,被截取的部分称 为“子串”或“子序列”。索引运算符冒号(:)指出子序列的范围。注意,此过程不会改变原来的字符串。41.3分片 1.分片格式:Si:j 表示选择S字符串中从索引位置倒索引位置/

6、-1的子序 歹限 Python采用的是半开区间,半开区间包含范围的起始 值,而不包含结束值。how are youz4:7S0 Sl S2 S3 S4 S5 S6 S7 S8 S9 S100 1 2 3 4 5 6 7 8 9 10h0waiey0u how are you4:7 are4.1字符串的基本操 4.1.3分片*how are you4:表达式指定的子序列从,how are you,中索引为4的位置开始,到字符串结尾处为止。how are you4:S0S1S2S3S4S5S6S7S8S9S1O*012345678910s-h0Wa|ey0U how are you1 4:are

7、you1 41.3分片*how are you:4表达式指定的子序列从how are you 中索引为0的位置开始,到字符串索引为4的位置为止,但不包括索引值为4的字符。S fhow are youz:4S0 Sl S2 S3 S4 S5 S6 S7 S8 S9 S100 1 2 3 4 5 6 7 8 9 10h0warey0u rhow are you:4 how4.1字符串的基本操人 4.1.3分片负分片的例子:how are you-1表达式指定了原字符 串最后一个字符。*how are you*-lS0 Sl S2 S3 S4 S5 S6 S7 S8 S9 S100 1 2 3 4

8、5 6 7 8 9 10howareyou-11-10-9-8-7-6-5-4-3-2-1S-ll S-10 S-9 S-8 S-7 S-6 S-5 S-4 S-3 S-2 S-l最后一个 lhow are you-1 u4.1字符串的基本操 4.1.3分片负分片的例子:howareyou4:-2,指定的是从原 字符串索引为4的位置开始,到原字符串倒数第3个位 置结束的子串。how are you4:-2S0 Sl S2 S3 S4 S5 S6 S7 S8 S9 S100 1 2 3 4 5 6 7 8 9 10-11-10-9-8-7-6-5-4-3-2-1S-ll S-10 S-9 S-8

9、 S-7 S-6 S-5 S-4 S-3 S-2 S-lhowareyou第一个 最后一个 how are you4:-2are y4.1字符串的基本操 4.1.3分片 2.分片格式:Si:j:k 表示选择S字符串中的字符,从索引位置/直到索引位置 7-1,每隔k个字符索引一次,k为步长,默认为1。若省 略/,则表示从起始位置开始索引;若省略/,则表示到 结束位置为止。步长值指出了从原字符串中每隔多少 个字符就取出值到子串中。也可以使用负数作为步长,步长-1表示分片将会从右至 左进行而不是通常的从左至右,实际效果主是将序列 反转。4.1字符串的基本操 4.1.3分片指定步长的分片how are

10、 your:2S0 Sl S2 S3 S4 S5 S6 S7 S8 S9 S100 1 2 3 4 5 6 7 8 9 10how are you how are your:2 hwaevu1 41.3分片 Python不支持字符类型;字符会被视为长度为1的字符 串,因此也被认为是一个子字符串。要访问子串,请 使用方括号的切片加上索引或直接使用索引来获取子 字符串。4.1字符串的基本操 4.1,4合并 Python使用“+”连接不同的字符串。“+”运算符需 要两个字符串对象,得到一个新的字符串对象。新的 字符串对象由前面两个字符串对象连接而成(将第2个 字符串的开始连接到第1个字符串的末尾)。

11、str1=Hello str2=,Guangzhou,str1+str2 HelloGuangzhou str2+str1 GuangzhouHello str1+str2 Hello Guangzhou14.1字符串的基本操:.4.L4合并当出现“+”运算符时,Python是怎么知道该做连接运 算还是加法运算呢?操作数的类型决定将执行的运算类型。如果“+”两侧 都是字符串类型,则进行连接操作;如果两侧都 是数字类型,则进行加法运算;如果“+”两侧是不同 的类型,Python解释器将提示出错。:4J.4合并使用join()连接字符串:strs=fHello China VHello,Guang

12、zhou#多个 字符串存放在列表中 result=.join(strs)#调用join。,依次连接列表中的 元素 print(result)Hello China Hello Guangzhou4.1字符串的基本操 4.1.5复制-使用重复运算符“*”实现字符串的复制。需要一个字符串对象和一个整数,产生1个新的字符串对象。新的字符串对象是由原字符串复制而成,复制的次数为给出的整数值,而复制字符串时,字符 串和整数的顺序无关。4.1.5复制 str=,Guangzhou,str*3#str 3次复制 uangzhouGuangzhouGuangzhou1 3*str#str 3次复制 uangz

13、houGuangzhouGuangzhou1 (str+)*3 Guangzhou Guangzhou Guangzhou str*str Traceback(most recent call last):File,line 1,in str*str TypeE rror:cant multiply sequence by non-int of type str4.1字符串的基本操:4.L6截取 方法1:“索引”“切片”来截取字符串获取子串。方法2:使用split。来获取子串。spM()的语法如下:split(char5num)n 参数char表示用于分割的字符,默认的分割字符是空格。参数nu

14、m表示分割的次数。默认情况下,将根据字符char在 字符串中出现的个数来分割子串。函数的返回值是由子串组成的列表。参数n表示取第几个分 片。spht()就是将一个字符串分裂成多个字符串组成的列表。4字符串的基本操,:4,L6截取使用split。获取子串的例子 sentence=nJane said:one,two,three,four print(sentence.split()#使用空格获取子串 Jane,said:,one,two,three,fou门。4.1.6截取使用split。获取子串的例子 sentence=nJane said:one,two,three,four”print(s

15、entence.split(,n)#使用逗号获取子串 Jane said:onetwothreefour1 print(sentence.split(,552)#使用逗号获取子串,num 值为2 Jane said:onetwothree,four1字符串的基本操彳0416截取使用spM()获取子串的例子 sentence=HJane said:one,two,three,four”print(sentence.split(,)2)#使用逗号获取索引为2的分片 three print(sentence.split(n;)O)#使用逗号获取索引为0的分片 Jane said:one,print(

16、sentence.split()O)#使用空格获取索引为0的分片 Jane 1.使用“=、!二”、“v”、”了 运算符(D单字符字符串的比较.*a=,a,#两个字符相同,返回真 True fa=#两个字符不相同,返回假 Falsea!=A#ord(a)=97,ord(A)=65,97!=65返回真 True#ord(a)=97,ord(A)=65,9765返回真 True Tv”2 True 1.使用“=、!二”、“v”、”了 运算符(2)多字符字符串的比较 absvcde#索引位置0的宣vc True abcVabd#索引位置2的cvcr True,abc,abccT#匕13(;者阱目等,较

17、长的字符串更大 False H endswith。不能用于比较源字符串中任意部分的子 串。4.1字符串的基本操 4.1.7比较 2.使用startswith()、endswith()str=nHow are youn print(str.startswith(nHown)#比较str的开头部分“How”True对比 str=nHow are you”print(str.endswith(nyouM56)True print(str.endswith(nyoun56,10)False print(str.endswith(nyoun56,len(str)True str=HHelloWorldH

18、 len(str)#求字符串str的长度 10 max(str)#求字符串str中最大的字符 T min(str)#求字符串str中最小的字符 H max(bcdVfig,abcd5xyz7abab)#求多个字符串中最大的字符串 xyz min(,bcd7fig7abcd7xyz7abab,)#求多个字符串中最小的字符串 abab in运算符用于检查集合的成员,需要两个参数:测试字符串和万 能包含测试字符串的字符串。形式如下:str1 in str2 如果测试字符串str1包含在str2中,且测试字符串序列必须完全相 同则返回True,否则返回False。4.1字符串的基本操A419 in运算

19、符 word=HChina h in word True b in word False na in word True an in word#测试字符串序列不相同 False4.2字符串格式化:4.2,1字符串的格式化输出 Python支持格式化字符串的输出。基本的用法是将一个值插入一个有字符串格式符$的字符串 中。print(My name is%s and weight is%d kg!%(Zara,21)My name is Zara and weight is 21 kg!4.2字符串格式化:字符串的格式化输出 格式字符串中的信息和其他任何字符串一样进行显示。特殊情况是,用百分号()

20、开头的特殊字符序列表明在字符 串中出现的位置,将会做一次替换。用命令结尾处圆括号中的数据来替换。上面的实例中,用“%s”替代格式字符串中的字符串,用 cF替代格式字符串中的数字(cP为十进制整数)。格式化指令与数据项,按顺序由左到右进行匹配,第一条格式命令对应弟一个数据项,依次卷枭要格式化多个值,元组中元素 字符串的格式化语法如下所示:的顺序必须与格式化)符遍中替A%s%str1 符的顺序一致s%s.(st1str2.)4.2字符串格式化:.4.2.1字符串的格式化输出使用f可以格式化浮点数的精度。根据指定的精度四舍五入。print(浮点型数字:1.23)#默认情况下输出小数点后6 位数字 浮

21、点型数字:1.230000 print(浮点型数字:.1f”1.23)#四舍五入后的结果为1.2 浮点型数字:1.2 print(浮点型数字:.3 1.2355)#格式化小数点后3位并 四舍五入 浮点型数字:1.2364.2字符串格式化*4.2.1字符串的格式化输出表4-1 Python格式化字符串的替代符及其含义符 号含 义%c格式化字符及其ASCII码%s格式化字符串%d格式化整数%u格式化无符号整型%o格式化无符号八进制数%x格式化无符号十六进制数%X格式化无符号十六进制数(大写)%f格式化浮点数字,可指定小数点后的精度%e用科学计数法格式化浮点数%E作用同%e,用科学计数法格式化浮点数

22、%g根据值的大小决定使用册或%e%G作用同%g,根据值的大小决定使用册或妮%p用十六进制数格式化变量的地址.2.2宽度和精度4.2字符串格式化0可以为每个数据项指定字段显示的宽度(即数据占据的空格 数)。如果宽度值为正值,则是在指定的宽度内右对齐;若指定了 负值,则数据在指定的宽度内左对齐。print(n%s is%d years old.%(”Ben30)Ben is 30 years old.print(n%10s is%-10d years old.-(”Ben30)Ben is 30years old.prjnt(-%10s js%-iod years old.%(Ben;30)io个

23、空格的字符串包括右对齐的对象.Ben is 3010个空格的串 包括左对齐的对象 _years old.10:E 2.2宽度和精度4.2字符串格式化6使用“f”来控制浮点值的小数点右侧的位数,即精度。import math print(math.pi)#未指定精度 3.141592653589793 print(”Pi is%.2fH%(math.pi)#保留小数点后2位 Pi is 3.14 print(Ti is%8.2fn%(math.pi)#指定宽度和精度,保留小 数点后2位 Pi is 3.14 print(Ti is%8.4fn%(math.pi)#指定宽度和精度,保留小 数点后4

24、位 Pi is 3.14164.2字符串格式化 4.2.3字符串转义字符 计算机中存在可见字符和不可见字符。可见字符指的是键盘上的字母、数字和符号。-不可见字符指的是换行、回车等字符。对于不可见字符可以使用转义字符来表示。Python中转义字符的用法和Java相同都是使用“”作为转义字符o print(first line nsecond line1)first line second line print(nfirstword tsecondwordn)firstword secondword去除字符串中的转义字符。str=Hthello worldnn print(直接输出:,str)直接

25、输出:hello world print(strip()后输出str.strip。)stp()后输出:hello world print(”lstrip()后输出str.lstrip。)lstrip()后输出:hello world print(”rstrip()后输出str.rstrip。)rstrip()后输出:hello world4.3常用字符串函数和方.字符串测试字符串测试用于检测字符串是否为特定格式。如果测试的结 果为真,返回True,否则返回False。s=nHello world1 s.startswith(,h,)False s.endswith(ndn)True s.isu

26、pper()False s.islower()False s.isprintable()True#测试字符串s是否以h开头#测试字符串s是否以d结尾#测试字符串S是否只包含大写字母#测试字符串S是否只包含小写字母#测试字符串S是否只包含可打印字符4.3常用字符串函数和方。2.字符串查找 s=HHello China printfind(”H”)0 print(s.index(HH)0 print(s.rfind(HHn)0 print(s.find(nanH)#在字符串s中查找#在字符串s中查找“H”#在字符串s中从右往左查找“H”#在字符串s中查找“an”-14.3常用字符串函数和方.字符串

27、替换 s=one,two and three1 sne,ttwotandtthree print(s)one,two and three print(s.replaceCone71f)#将字符串s中的每个one替换为T 1,two and three print(s.replace(,one,*)#将字符串s中的每个,one,替换 为一,two and three.*1 tnTTTTK4.3常用字符串函数和:print(s1)one,two and three print(s1.expandtabs)#将字符串s中制表符扩展为空格,宽度为8 one,two and three print(s1

28、.expandtabs(10)#将字符串s中制表符扩展为空格,宽度为10 one,two and three4.3常用字符串函数和方*4.字符串合并使用join。合并字符串 strs=helloVChina7helloVGuangzhou result=Join(strs)#合并的串用空格分隔 print(result)hello China hello Guangzhou seq=,123V456V789 sep=+#合并的串用中分隔 print(sep.join(seq)123+456+789使用reduce。合并字符串 from functools import reduce impor

29、t operator#导入模块operator,利用add()方法实现累计连接 strs=hello,5,China,5,hello,Guangzhou,result=reduce(operator.add,strs,n,)print(result)helloChinahelloGuangzhou url= print(url.partition(,.)(J)print(url.rpartition(,.)(,cn)print(url.split(7)www,,ptpress,,com,,cn sentence=My name is Bob print(sentence.split()My,n

30、ameJis,Bob4.3常用字符串函数和方5:丁6.字符串与日期的转换 import time,datetime print(time.strftime(n%Y-%m-%d%XH5timeJocaltime()2017-10-2116:09:24 t=time.strptime(“2017-09-087%Y-%m-%d”)y,m,d=t0:3 print(datetime.datetime(y,m5d)2017-09-08 00:00:00 s=*Beginning Python:Using Python3.4.4 and Python 35 s.lower()beginning pytho

31、n:using python3.4.4 and python 3.5 s.upper()BE GIN N IN G PYTHON:USIN G PYTHON 3.4.4 AN D PYTHON 35 s.capitalize()Beginning python:using python3.4.4 and python 3.5 s.title()Beginning Python:Using Python3.4.4 And Python 354.3常用字符串函数和方1字符串格式设置 s=,Python,ch=*print(s.center(10)Python print(s.center(1O3c

32、h)*Python*print(s.ljust(1O)Python4.3常用字符串函数和方5字符串格式设置 print(s.ljust(10,ch)Python*print(s.rjust(10,ch)*Python print(s.ljust(10)Python剥除函数用于删除字符串开头或末尾多余的字符,如表4-11 所示。默认情况下,剥除空白字符;如果指定了字符串参数,则剥除该字符串中的字符。name John Smith”print(namedstripO)John Smith print(name.rstrip()John Smith title=H*#Good Luck!*#*#”print(title.strip()*#Good Luck!*#*#print(title.stripf*#1)Good Luck!print(name.strip()John Smitheh本章小结:字符串是程序开发中的常用数据类型,字符串的处 理是实际应用中经常面对的问题。:本章讲解了 Python中字符串的表示与操作,包括字 符串的索引与分片、合并、复制、截取、比较、格 式化等。重点介绍了字符串的常用函数与方法。

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 应用文书 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服