Python基础-python数据类型之字符串
Posted 痴人谈情
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python基础-python数据类型之字符串相关的知识,希望对你有一定的参考价值。
字符串
字符串是python中常用的数据类型,使用(\'或")来创建。
创建字符串:
下标索引
字符串实际上是字符的数组,所以也支持索引。
str1 = \'abcdef\'
切片
定义:切片是指对操作的对象截取一部分的操作。字符串、列表、元祖都支持切片操作。
语法格式:[起始值:终值:步长]
附注:切片选取的区间属于左闭右开,即从\'起始值\'到\'终值\'的前一位(不包含终值本身)
如:
1 str1=\'abcdef\' 2 print(\'str1[0:3]=\',str1[0:3]) #取出 0~3 的字符,不包含3 3 print(\'str1[2:4]=\',str1[2:4]) #取出 2~4 的字符 4 print(\'str1[2:]=\',str1[2:]) #取出 2~最后 的字符 5 print(\'str1[:-1]=\',str1[:-1]) #取出 0~最后 的字符,不包括最后一个 6 print(\'str1[:]=\',str1[:]) #取出所有字符 7 print(\'str1[5:1]=\',str1[5:1]) #输出为空
输出结果为:
步长
1 str1=\'abcdef\' 2 print(\'str1[0::3]=\',str1[0::3]) #所有范围的字符,每次前进两个字符 3 print(\'str1[0:4:2]=\',str1[0:4:2]) #下标0~4之间,每次前进两个字符 4 print(\'str1[len(str1)::-1]=\',str1[len(str1)::-1]) #倒叙输出
输出结果为:
字符串常见操作
1、find
检测指定字符串是否包含在当前字符串中,如果是返回开始的索引,否则返回-1。
格式:mystr.find(str,start,end).
如:
1 str1=\'How are you,How are you\' 2 index1=str1.find(\'How\') #查询满足的第一个的下标 3 index2=str1.find(\'me\') #查询是否有,没有返回-1 4 index3=str1.find(\'How\',12,22) #从指定区间内查询 5 print(\'index1={},index2={},index3={}\'.format(index1,index2,index3))
输出结果为:
2、index
定义:与find()函数一样,不同之处在于如果要查询的对象不在当前对象中,会报一个异常。
格式:mystr.index(str,start,end)
如:
1 str1=\'How are you,How are you\' 2 index1=str1.index(\'How\') #查询满足的第一个的下标 3 #使用try-except抛出异常 4 try: 5 index2=str1.index(\'me\') #查询是否有,没有返回一个异常 6 except Exception as e: 7 print(e) 8 index3=str1.index(\'How\',12,22) #从指定区间内查询 9 print(\'index1={},index3={}\'.format(index1,index3))
输出结果为:
3、count
定义:返回str在start和end之间出现的次数。
格式:mystr.count(str)
如:
1 str1=\'How are you,How are you\' 2 count1=str1.count(\'How\') #查询\'How\'出现的次数 3 print(count1) # 2
4、replace
定义:将当前对象的某部分替换为另外一部分。
格式:mystr.replace(old,new,count=None)
如:
1 str1=\'How are you,How are you\' 2 replace1=str1.replace(\'How\',\'What\',count=1) #将How替换为What,替换1次 3 print(replace1) # 输出为\'What are you,How are you\'
5、split
定义:将当前对象按照某种格式或某个字符分割
格式:mystr.split(str,maxsplit),以str为分割符切片mystr,如果maxsplit有指定数字,则分割maxsplit次。
如:
1 str1=\'How are you,How are you\' 2 replace1=str1.split(\' \',maxsplit=3) #将str1以空格分割,分割3次 3 print(replace1) # 输出为[\'How\', \'are\', \'you,How\', \'are you\']
6、capitalize
定义:把字符串首字母大写
格式:mystr.capitalize()
如:
1 str1=\'hello\' 2 capitalize1=str1.capitalize() #将str1的首字母大写 3 print(capitalize1) # 输出为\'Hello\'
7、title
定义:字符串的每个单词的首字母都大写
格式:mystr.title()
如:
1 str1=\'How are you,How are you\' 2 replace1=str1.title() #将每个单词的首字母大写 3 print(replace1) # 输出为How Are You,How Are You
8、startswith
定义:检查字符串是否是以指定字符串开头, 是则返回 True,否则返回 False
1 str1=\'abcdef\' 2 print(str1.startswith(\'a\')) 3 print(str1.startswith(\'b\'))
9、endswith
定义:检查字符串是否以指定字符串结束,如果是返回True,否则返回 False。
1 str1=\'abcdef\' 2 print(str1.endswith(\'f\')) 3 print(str1.endswith(\'a\'))
10、lower
定义:将字符串转换为小写。
1 str1=\'abcdeF\' 2 print(str1.lower())
11、upper
定义:将字符串转换为小写
1 str1=\'abcdeF\' 2 print(str1.upper())
12、ljust
定义:返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串
格式:mystr.ljust(参数1,参数2);参数1:填充的个数,参数2:填充的字符
1 str1=\'abcdeF\' 2 print(str1.ljust(9,\'*\'))
13、rjust
定义:返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串
格式:mystr.rjust(参数1,参数2);参数1:填充的个数,参数2:填充的字符
1 str1=\'abcdeF\' 2 print(str1.rjust(9,\'*\'))
14、center
定义:返回一个原字符串居中,并使用空格填充至长度 width 的新字符串
格式:mystr.center(参数1,参数2);参数1:填充的个数,参数2:填充的字符
1 str1=\'abcdeF\' 2 print(str1.center(9,\'#\'))
15、lstrip
定义:删除字符串左边的空白字符。
格式:mystr.lstrip()
1 str1=\' abcdeF\' 2 print(str1.lstrip())
16、rstrip
定义:删除字符串末尾的空白字符
格式:mystr.rstrip()
1 str1=\' abcdeF \' 2 print(str1.rstrip())
17、strip
定义:删除字符串两端的空白字符
格式:mystr.strip()
1 str1=\' abcdeF \' 2 print(str1.strip())
18、rfind
定义:类似find()函数,不过是从右侧开始查找。返回最后一次出现的字符,找不到返回-1
格式:mystr.rfind(参数1,参数2,参数3);参数1:查询的字符,参数2:开始查找的位置,默认为0,参数3:结束查找的位置
1 str1=\'abcdeF a\' 2 print(str1.rfind(\'a\',7,0))
19、rindex
定义:类似index()函数,不过是从左侧开始查找。找不到返回一个异常
格式:mystr.rindex(参数1,参数2,参数3);参数1:查询的字符,参数2:开始查找的位置,默认为0,参数3:结束查找的位置
1 try: 2 str1=\'abcdeF a\' 3 print(str1.rindex(\'a\',7,0)) 4 except Exception as e: 5 print(e)
20、isspace
定义:如果字符串只包含空格,则返回True,否则返回False。
格式:mystr.isspace()
1 str1=\'abcdeF a\' 2 print(str1.isspace())
以上是关于Python基础-python数据类型之字符串的主要内容,如果未能解决你的问题,请参考以下文章