python字符串的表示_Python字符串方法总结

Python字符串方法图示:

(温馨提示:对图片点右键——在新标签页中打开图片)

884071-20171127154213565-171071034.png

1、index()

定义:查找并返回指定str的索引位置,如果没找到则会抛异常(查找的顺序是从左至右)可以指定范围:开始位置和结束位置进行查找。

格式:“字符串内容”.index('指定的字符串',指定范围)

例1:不指定范围默认是从左至右的顺序查询指定字符串“i”的索引位置

s = 'yujiemeigui'

s1 = s.index('i')

print(s1)

输出结果:

3

图示:

1160712-20171203150455179-1008130737.png

例2:查找一串字符串时,返回这个被查找字符串的首个字符的索引位置

s = 'yujie meigui'

s1 = s.index('yujie') # 查找指定字符串,返回首个字母的索引位置

print(s1)

输出结果:

0

图示:

1160712-20171203151055726-692991619.png

例3:查找并返回指定范围字符“k”的索引位置,查找方向以从左至右的顺序查找,且指定的范围顾首不顾尾

s = 'yujiemeigui'

s1 = s.index('i',4,8)

# 表示从索引4到8的位置进行查找,顾首不顾尾

# 如果有多个“i”字符串时则返回第一个“i”的索引位置

print(s1)

输出结果:

7

图示:

1160712-20171203152029913-1926543478.png

例4:若未找到字符串则会抛出异常

s = 'yujiemeigui'

s1 = s.index('x') # 若未找到字符串则会抛出异常

print(s1)

输出结果:

ValueError: substring not found

图示:

1160712-20171203152308710-1295362098.png

2、rindex()

定义:查找并返回指定str的索引位置,如果没找到则会抛异常(查找的顺序是从右至左)可以指定范围:开始位置和结束位置进行查找

格式:"字符串内容".rindex('指定的字符串',指定范围)

例1:不指定范围默认是从右至左的顺序查询指定字符串的索引位置

s = 'yujiemeigui'

s1 = s.rindex('u')

# 不指定范围默认是从右至左的顺序查询指定字符串的索引位置

print(s1)

输出结果:

9

图示:

1160712-20171203152949147-2134468181.png

例2:若未找到字符串则会抛出异常

s = 'yujiemeigui'

s1 = s.rindex('z') # 若未找到字符串则会抛出异常

print(s1)

输出结果:

ValueError: substring not found

图示:

1160712-20171203152909101-1956946613.png

例3:查找并返回指定范围字符“k”的索引位置,查找方向在从右至左的顺序查找,且指定的范围顾首不顾尾

s = 'yujiemeigui'

s1 = s.rindex('u',1,10)

# 表示从索引位置2到10的位置进行查找,顾首不顾尾

# 如果有多个“u”字符串时则返回第一个“u”的索引位置

# rindex与index只是查找方向不同,索引位置不变

print(s1)

输出结果:

9

图示:

1160712-20171203153448679-1826681978.png

3、find()

定义:查找并返回指定str的索引位置,如果没找到则返回:-1(查找的顺序是从左至右)可以指定范围:开始位置和结束位置进行查找

格式:"字符串内容".find('指定的字符串',指定范围)

例1:不指定范围默认是从左至右的顺序查询指定字符串“u”的索引位置

s = 'yujiemeigui'

s1 = s.find('u')

print(s1)

输出结果:

1

图示:

1160712-20171203154221304-1003950339.png

例2:查找一串字符串时,返回这个被查找字符串的首个字符的索引位置

s = 'yujiemeigui'

s1 = s.find('meigui')

# 查找一串字符串时,返回这个被查找字符串的首个字符的索引位置

print(s1)

输出结果:

5

图示:

1160712-20171203154044569-2097459774.png

例3:查找并返回指定范围字符“k”的索引位置,查找方向以从左至右的顺序查找,且指定的范围顾首不顾尾

s = 'yujiemeigui'

s1 = s.find('e',4,10)

# 查找并返回指定范围3到12之间的字符“k”的索引位置,从左至右的顺序查找,且指定的范围顾首不顾尾

# 如果有多个“k”字符串时则返回第一个“k”的索引位置

print(s1)

输出结果:

4

图示:

例4:若未找到字符串则返回-1

s = 'yujiemeigui'

s1 = s.find('x') # 没有找到字符串"x"时返回:-1

print(s1

输出结果:

-1

图示:

1160712-20171203154754038-1803151350.png

4、rfind()

定义:查找并返回指定str的索引位置,如果没找到则返回:-1(查找的顺序是从右至左)可以指定范围:开始位置和结束位置进行查找

格式:"字符串内容".rfind('指定的字符串',指定范围)

例1:不指定范围默认是从右至左的顺序查询指定字符串的索引位置

s = 'yujiemeigui'

s1 = s.rfind('i') # 从右至左的顺序查找并返回字符串'i'的索引位置

print(s1)

输出结果:

10

图示:

例2:查找并返回指定范围字符“k”的索引位置,查找方向在从右至左的顺序查找,且指定的范围顾首不顾尾

s = 'yujiemeigui'

s1 = s.rfind('i',4,10)

# 查找并返回指定范围3到12之间的字符“i”的索引位置,

# 从右至左的顺序查找,且指定的范围顾首不顾尾

# 如果有多个“i”字符串时则返回第一个“i”的索引位置

print(s1)

输出结果:

7

图示:

1160712-20171203155625929-1700660423.png

例3:若未找到字符串则返回-1

s = 'yujiemeigui'

s1 = s.rfind('x')

print(s1)

输出结果:

-1

图示:

1160712-20171203155747788-140450963.png

5、count()

定义:统计指定的(str)在字符串中出现的次数,并返回这个数,若没找到返回: 0,

可以指定范围:开始位置和结束位置进行统计

格式:"字符串内容".count('指定的字符串',指定范围)

例1:统计指定字符串“k”在字符串中出现的次数并返回这个数

s = 'yujiemeigui'

s1 = s.count('e') # 得到字符串“e”的个数

print(s1)

输出结果:

2

图示:

1160712-20171203160058429-1959136046.png

例2:统计指定范围内的字符串“k”的个数,且顾首不顾尾

s = 'yujiemeigui'

s1 = s.count('e',3,10) # 统计3到10之间的字符串“e”的个数,顾首不顾尾

print(s1)

输出结果:

2

图示:

1160712-20171203160517444-1246209667.png

6、strip()

定义:移除字符串左右两侧指定的字符,并返回移除指定字符串后的字符串,括号内不指定字符串默认移除空格。

格式:"字符串内容".strip(‘指定字符串’)

例1:移除字符串左右两侧的空格

s = ' yujiemeigui '

s1 = s.strip() # 移除字符串左右两侧的空格

print(s1)

输出结果:

yujiemeigui

图示:

1160712-20171203160931147-1801026912.png

例2:移除字符串左右两侧的指定字符串

s = '***yujiemeigui***'

s1 = s.strip('*') # 移除字符串左右两侧的字符串“*”

print(s1)

输出结果:

yujiemeigui

图示:

1160712-20171203161143522-1744478990.png

7、lstrtip()

定义:移除字符串左侧指定的字符,并返回移除指定字符串后的字符串,括号内不指定字符串默认移除空格。

格式:“字符串内容”.lstrip(“指定字符串”)

例1:移除字符串左侧的空格

s = ' yujiemeigui '

s1 = s.lstrip() # # 去除字符串左侧的空格

print(s1,'<-右侧空格并未去除')

输出结果:

yujiemeigui <-右侧空格并未去除

图示:

1160712-20171203161513632-1415811235.png

例2:移除字符串左侧的指定字符串

s = '@@@@yujiemeigui@@@@'

s1 = s.lstrip('@') # # 去除字符串左侧的字符串"@"

print(s1)

输出结果:

yujiemeigui@@@@

图示:

1160712-20171203161814866-1619817394.png

8、rstrip()

定义:移除字符串右侧指定的字符,并返回移除指定字符串后的字符串,括号内不指定字符串默认移除空格。

格式:“字符串内容”.rstrip(“指定字符串”)

例1:移除字符串右侧的空格

s = ' yujiemeigui '

s1 = s.rstrip() # 去除字符串右侧的空格

print(s1)

输出结果:

左侧的空格未去除—> yujiemeigui

图示:

例2:移除字符串右侧的指定字符串

s = '****yujiemeigui****'

s1 = s.rstrip('*') # 去除字符串右侧的字符串"*"

print(s1)

输出结果:

****yujiemeigui

图示:

1160712-20171203162935819-636635835.png

9、split()

定义:通过指定分隔符按从左到右的顺序对字符串进行切片,并以一个列表的形式返回。括号内不指定字符串表示默认以空格为分隔符。可以指定分隔符的个数

格式:“字符串内容”.split(“指定分隔符”)

例1:以空格为分隔符进行切片操作

s = 'yujiemeigui'

s1 = s.split() # 以空格作为分隔符进行切片

print(s1)

输出结果:

['yujiemeigui']

图示:

1160712-20171203163209897-874198295.png

例2:以指定字符作为分隔符进行切片操作

s = 'yujiemeigui'

s1 = s.split('e') # 以字符“e”作为分隔符进行切片

print(s1)

输出结果:

['yuji', 'm', 'igui']

图示:

1160712-20171203163332116-1262887536.png

例3: 以指定字符作为分隔符进行切片操作且限定分隔符的个数

s1 = s.split('e')

# 以字符“e”作为分隔符进行切片,

# 且只限定1个"e"作为分隔符,字符串中如果有多个“e”则按从左至右的顺序来选定这个分隔符

print(s1)

输出结果:

['yuji', 'm', 'igui']

图示:

1160712-20171203163614569-1787415420.png

10、rsplit()

定义:通过指定分隔符按从右到左的顺序对字符串进行切片,并以一个列表的形式返回。括号内不指定字符串表示默认以空格为分隔符。可以指定分隔符的个数

格式:“字符串内容”.rsplit(“指定分隔符”)

例1:以空格作为分隔符进行切片

s = 'yujiemeigui'

s1 = s.rsplit() # 以空格作为分隔符进行切片

print(s1)

输出结果:

['yujiemeigui']

图示:

1160712-20171203163818147-1931685157.png

例2:以指定字符作为分隔符进行切片操作

s = 'yujiemeigui'

s1 = s.rsplit('i') # 以字符“i”作为分隔符进行切片

print(s1)

输出结果:

['yuj', 'eme', 'gu', '']

图示:

1160712-20171203163926960-1088811949.png

例3: 以指定字符作为分隔符进行切片操作,且限定分隔符的个数(这里就体现与split的区别了)

s = 'yujiemeigui'

s1 = s.rsplit('g')

# 以字符“k”作为分隔符进行切片,

# 且只限定1个"g"作为分隔符,字符串中如果有多个“g”

# 则按从右至左的顺序来选定这个分隔符

print(s1)

输出结果:

['yujiemei', 'ui']

图示:

1160712-20171203164249632-674236688.png

11、splitlines()

定义:括号中不加参数默认为False,此时分隔符默认指定为“\n” 、“\n\r” 、“\r”对字符串进行分隔,以一个列表的形式返回;当括号中参数改为True时仍然会以“\n” 、“\n\r” 、“\r”进行分隔,但是在生成的元素中会保留分隔符。并以一个列表的形式返回。

格式:“字符串内容”.splitlines(True/False)

例1:括号中不加参数时默认为False,分隔符“\n”、“\r\n”、“\r”在生成元素时不会被保留

s = '\nyujie\rmeigui\r'

s1 = s.splitlines() #括号中不加参数默认为False,且以“\n”、"\n\r"、"\r"为分隔符

print(s1)

输出结果:

['', 'yujie', 'meigui']

图示:

1160712-20171203164547554-138031587.png

例2:括号中为True时的操作,分隔符“\n”、“\r\n”、“\r”在生成元素时会被保留

s = '\nyujie\rmeigui\r'

s1 = s.splitlines(True) # 括号中为True时,分隔符“\n”、“\r\n”、“\r”在生成元素时会被保留

print(s1)

输出结果:

['\n', 'yujie\r', 'meigui\r']

图示:

12、replace()

定义:将指定的字符串替换成新的字符串,并返回替换后的字符串。

可以指定替换的次数,若不指定次数则默认替换全部。

格式:“字符串内容”.replace(“要替换的内容”,“新的内容”,指定的替换的次数)

例1:替换全部的指定的内容。

s = 'yujiemeigui'

s1 = s.replace('meigui','玫瑰')

print(s1)

输出结果:

yujie玫瑰

图示:

1160712-20171203165206132-1140236177.png

例2:指定替换的次数,按从左到右的顺序进行替换

s = 'yujiemeigui'

s1 = s.replace('meigui','玫瑰',1)

print(s1)

输出结果:

yujie玫瑰

图示:

1160712-20171203170532897-315935283.png

例3:当要替换的内容不存在时也不会报错,直接返回字符串的原内容

s = 'yujiemeigui'

s1 = s.replace('z','玫瑰') # 要替换的内容不存在时,直接返回字符串的原内容

print(s1)

输出结果:

yujiemeigui

图示:

1160712-20171203171039757-2091145281.png

13、join()

定义:将序列中的元素以指定的字符拼接生成一个新的字符串,并返回这个字符串

格式:“指定字符串内容”.join(一个序列)

例1:将序列中的元素以空字符串拼接一个成一个新的字符串

s = ''

t = ('y','u','j','i','e','m','e','i','g','u','i')

s1 = s.join(t) #将序列中的元素以空字符串拼接一个成一个新的字符串

print(s1)

输出结果:

yujiemeigui

图示:

1160712-20171203171618507-1715385063.png

例2:将序列中的元素以“-”字符串拼接一个成一个新的字符串

s = '-'

t = ('y','u','j','i','e','m','e','i','g','u','i')

s1 = s.join(t) # 将序列中的元素以“-”字符串拼接一个成一个新的字符串

print(s1)

输出结果:

y-u-j-i-e-m-e-i-g-u-i

图示:

1160712-20171203171834960-2137232845.png

14、format()

定义:字符串格式化。有三种方法:1、按默认从左到右的默认顺序传值,2、按指定位置传值,3、按设置参数传值,返回格式化后的字符串

格式1:“字符串-{}-字符串-{}”.format(“内容1”,“内容2”)

# 输出的结果为:字符串-内容1-字符串-内容2

# 格式化后的内容分别按从左到右的默认顺序分别对应到字符串中每个大括号里

格式2:“字符串-{2}-字符串-{1}”.format(“内容1”,“内容2”)

# 输出的结果为:字符串-内容2-字符串-内容1

# 格式化后的内容分别按指定位置传值到字符串中对应的大括号里

格式3:“字符串-{变量名1}-字符串-{变量名2}”.format(变量名1 = “内容 ”,变量名2 = “内容2”)

# 输出的结果为:字符串-内容1-字符串-内容12

# 格式化后的内容分别按指定位置传值到字符串中对应的大括号里

例1:按默认顺序对字符串进行格式化

s = "I am {},I'm {} years old!"

s1 = s.format('lisa',18)

print(s1)

输出结果:

I am lisa,I'm 18 years old!

图示:

1160712-20171203172722866-1330511353.png

例2:按位置对字符串进行格式化

s = "I am {1},I'm {0} years old,My favorite sport is {2}"

s1 = s.format('18','lisa','running')

print(s1)

输出结果:

I am lisa,I'm 18 years old,My favorite sport is running

图示:

1160712-20171203173323819-1328934473.png

例3:按位置对字符串进行格式化

s = "I am {name},I'm {age} years old!"

s1 = s.format(age = '18',name = 'lisa')

print(s1)

输出结果:

I am lisa,I'm 18 years old!

图示:

1160712-20171203173739257-811454270.png

15、format_map()

定义:字符串格式化,与format不同的是括号中的mapping是一个字典对象,返回格式化后的字符串。

格式:“字符串-{key1}-字符串-{key2}”.format_map({key1 : “value1 ”,key2 : “value2”})

# 输出的结果为:字符串-value1-字符串-value2

例:字符串的格式,传入一个字典对象

info = {'name':'lisa','age':18}

s = 'My name is {name},I am {age} years old'

s1 = s.format_map(info)

print(s1)

输出结果:

My name is lisa,I am 18 years old

图示:

1160712-20171203174427913-1830945519.png

16、encode()

定义:以指定的编码格式对字符串进行编码,并返回编码后的二进制

格式:“字符串内容”.encode(“指定的字符编码”)

例:以utf-8的方式进行编码并解码。

s = '御姐玫瑰'

# 编码

s1 = s.encode('utf-8')

print(s1) # 得到以"utf-8"编码后的二进制数

# 解码

s2 = s1.decode('utf-8')

print(s2)

输出结果:

b'\xe5\xbe\xa1\xe5\xa7\x90\xe7\x8e\xab\xe7\x91\xb0'

御姐玫瑰

图示:

1160712-20171203175020226-622567884.png

17、startswith()

定义:判断字符串是否是以指定字符串开头并返回布尔值,并可以指定范围。

格式:“字符串内容”.startswith(“指定字符串”,指定范围)

例1:判断字符串是否以指定字符串开头

s = 'yujiemeigui'

s1 = s.startswith('yujie')

print(s1)

输出结果:

True

图示:

1160712-20171203175149304-596239926.png

例2:判断字符串是否以指定字符串开头,并指定范围

s = 'yujiemeigui'

s1 = s.startswith('i',3) #判断字符串i是否以指定字符串开头,并指定范围

print(s1)

输出结果:

True

图示:

1160712-20171203175419929-925362790.png

例3:判断字符串是否以指定字符串开头

s = 'yujiemeigui'

s1 = s.startswith('xiaobai') # 在原字符串中没找到以指定内容开头的内容则返回False

print(s1)

输出结果:

False

图示:

1160712-20171203175531085-1466139031.png

18、endswith()

定义:判断字符串是否是以指定字符串结尾并返回布尔值,并可以指定范围。

格式:“字符串内容”.endswith(“指定字符串”,指定范围)

例1:判断字符串是否以指定字符串结尾

s = 'yujiemeigui'

s1 = s.endswith('meigui')

print(s1)

输出结果:

True

图示:

例2:判断字符串是否以指定字符串开头

s = 'yujiemeigui'

s1 = s.endswith('x')

print(s1)

输出结果:

False

图示:

1160712-20171203175738085-502758580.png

19、upper()

定义:将字符串中的小写字母转换成大写字母,并返回转换成大写字母后的字符串

格式:"小写字母的字符串".upper()

例:将小写字母的字符串转换成大写字母。

s = 'yujiemeigui'

s1 = s.upper()

print(s1)

输出结果:

YUJIEMEIGUI

图示:

1160712-20171203175852757-1060545405.png

20、lower()

定义:将字符串中的大写字母转换成小写字母,并返回转换成小写字母后的字符串。

格式:"大写字母的字符串".lower()

例:将字符串中的大写字母转换成小写字母

s = 'YujiemeiGui'

s1 = s.lower()

print(s1)

输出结果:

yujiemeigui

图示:

1160712-20171203180000054-703290204.png

21、title()

定义:将字符串中的所有单词的首字母的替换成大写字母,并返回转换后的字符串

格式:“字符串”.title()

例:将字符串中的所有单词的首字母替换成大写字母

s = 'yu jie mei gui'

s1 = s.title()

print(s1)

输出结果:

Yu Jie Mei Gui

图示:

1160712-20171203180135585-422988306.png

22、swapcase()

定义:将字符串的大小写字母进行转换,并返回转换后的字符串

格式:“字符串”.swapcase()

例:将字符串的大小写字母进行转换

s = 'YujieMeigui'

s1 = s.swapcase()

print(s1)

输出结果:

yUJIEmEIGUI

图示:

23、ljust()

定义:返回一个左对齐的字符串,并使用指定长度的填充符号,不指定填充符号默认使用空格作为填充符号。若指定的填充符号的长度小于字符串本身的长度,填充符号则不会显示。

格式:“字符串”.ljust(填充的长度,“指定填充符号”)

例1:返回一个以空格为填充的左对齐的字符串。

s = 'yujiemeigui'

s1 = s.ljust(30)

print(s1,'<-结束')

输出结果:

yujiemeigui <-结束

图示:

1160712-20171203180516288-1315174109.png

例2:返回一个以指定字符串作为填充的左对齐的字符串。

s = 'yujiemeigui'

s1 = s.ljust(30,'*')

print(s1)

输出结果:

yujiemeigui*******************

图示:

1160712-20171203180635022-1347767446.png

例3:指定的填充符号的长度小于字符串本身的长度,填充符号则不会显示

s = 'yujiemeigui'

s1 = s.ljust(10,'*') # 指定填充符号的长度小于字符串的长度,则不会显示填充符号

print(s1,'<-结束')

输出结果:

yujiemeigui <-结束

图示:

1160712-20171203180818288-389423601.png

24、rjust()

定义:返回一个右对齐的字符串,并使用指定长度的填充符号,不指定填充符号默认使用空格作为填充符号。若指定的填充符号的长度小于字符串本身的长度,填充符号则不会显示。

格式:“字符串”.rjust(填充的长度,“指定填充符号”)

例1:返回一个以空格为填充的右对齐的字符串

s = 'yujiemeigui'

s1 = s.rjust(30)

print('开始->',s1

输出结果:

开始-> yujiemeigui

图示:

例2:返回一个以指定字符串作为填充的右对齐的字符串。

s = 'yujiemeigui'

s1 = s.rjust(30,'*')

print(s1)

输出结果:

*******************yujiemeigui

图示:

1160712-20171203181136460-1244875902.png

例3:指定的填充符号的长度小于字符串本身的长度,填充符号则不会显示

s = 'yujiemeigui'

s1 = s.rjust(9,'*') # 指定填充符号的长度小于字符串的长度,则不会显示填充符号

print('开始->',s1)

输出结果:

开始-> yujiemeigui

图示:

1160712-20171203181303382-33475108.png

25、center()

定义:返回一个居中对齐的字符串,并使用指定长度的填充符号,不指定填充符号默认使用空格作为填充符号。若指定的填充符号的长度小于字符串本身的长度,填充符号则不会显示。

格式:“字符串”.center(填充的长度,“指定填充符号”)

例1:返回一个以空格为填充的居中对齐的字符串

s = 'yujiemeigui'

s1 = s.center(30)

print('开始->',s1,'<-结束')

输出结果:

开始-> yujiemeigui <-结束

图示:

1160712-20171203181527819-1735052744.png

例2:返回一个以指定字符串作为填充的居中对齐的字符串。

s = 'yujiemeigui'

s1 = s.center(30,'@')

print('开始->',s1,'<-结束')

输出结果:

开始-> @@@@@@@@@yujiemeigui@@@@@@@@@@ <-结束

图示:

1160712-20171203181629085-846611822.png

例3:指定的填充符号的长度小于字符串本身的长度,填充符号则不会显示

s = 'yujiemeigui'

s1 = s.center(9,'@') # 指定填充符号的长度小于字符串的长度,则不会显示填充符号

print('开始->',s1,'<-结束')

输出结果:

开始-> yujiemeigui <-结束

图示:

1160712-20171203181825038-1119562266.png

26、capitalize()

定义:返回一个将字符串首字母大写、字符串中的其它字母变为小写的字符串

格式:“字符串”.capitalize()

例:返回一个将字符串首字母大写、字符串中的其它字母变为小写的字符串

s = 'yUJIEmEIgHi'

s1 = s.capitalize()

print(s1)

输出结果:

Yujiemeighi

图示:

1160712-20171203182043397-655084668.png

27、partition()

定义:按从左到右的顺序,对字符串进行分割,返回一个包含3个元素的元组,这个元组中这3个元素分别为:指定分割符,以及以这个分隔符为中心的左右两侧的字符串。

格式:“字符串”.partition("指定分隔符")

例1:对字符串进行分割,返回一个包含3个元素的元组,按从左到右的顺序分割

s = 'yujiemeigui'

s1 = s.partition('i')

print(s1)

输出结果:

('yuj', 'i', 'emeigui')

图示:

1160712-20171203205741444-82137051.png

例2:若在字符串中未找到指定的分隔符则返回一个包含3个元素的元组,这个元组元素包含字符串本身,以及两个空字符串

s = 'yujiemeigui'

s1 = s.partition('x') # 指定一个不存在的字符串

print(s1)

输出结果:

('yujiemeigui', '', '')

图示:

1160712-20171203205916538-1258006772.png

28、rpartition()

定义:按从右到左的顺序,对字符串进行分割,返回一个包含3个元素的元组,

这个元组中这3个元素分别为:指定分割符,以及以这个分隔符为中心的左右两侧的字符串。

格式:“字符串”.rpartition("指定分隔符")

例1:对字符串进行分割,返回一个包含3个元素的元组,按从右到左的顺序分割

s = 'yujiemeigui'

s1 = s.rpartition('e')

print(s1)

输出结果:

('yujiem', 'e', 'igui')

图示:

1160712-20171203210149272-622489227.png

例2:若在字符串中未找到指定的分隔符,则返回一个包含3个元素的元组,

这个元组元素包含两个空字符串,以及字符串本身.

s = 'yujiemeigui'

s1 = s.rpartition('x') # 指定一个不存在的字符串

print(s1)

输出结果:

('', '', 'yujiemeigui')

图示:

1160712-20171203210413679-360631586.png

29、translate()

定义:根据参数table给出的表(包含 256 个字符)转换字符串的字符,要过滤掉的字符放到 deletechars 参数中。返回这替换后的字符串

格式:“原字符串”.translate({映射表})

例1:通过映射表替换s2字符串中的指定字符

s1 = 'abcde' # 原字符串中要替换的字符

num = '12345' # 相应的映射字符的字符串。

s2 = "aaxxbbxxccxxddxxee" # 原字符串

form = s2.maketrans(s1,num) # 创建映射表,让s1字符串中的字母分别对应num中的字母并指向s2字符串。

print(s2.translate(form)) # 使用上面映射表进行翻译,并把并把deletechars中有的字符删掉。

输出结果:

11xx22xx33xx44xx55

图示:

884071-20171127151114597-490292464.png

30、zifill()

定义:按指定长度在字符串的左侧填充"0"补齐,并返回这个补齐“0”后的字符串

格式:“字符串”.zfill(指定长度)

例1:按指定长度在字符串的左侧填充"0"补齐,包含字符串本身

s = 'yujiemeigui'

s1 = s.zfill(20)

print(s1)

输出结果:

000000000yujiemeigu

图示:

1160712-20171203210856147-1321077843.png

例2:按指定长度在字符串的左侧填充"0"补齐,当填充“0”的个数小于字符串长度时,则不会显示。

s = 'yujiemeigui'

s1 = s.zfill(10) # 填充的“0”的个数小于字符串的长度

print(s1)

输出结果:

yujiemeigui

图示:

1160712-20171203211106835-1392035302.png

31、maketrans()

定义:用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。返回一个一一对应的字典

格式:“原字符串”.maketrans("原字符串中要替换的字符",“相应的映射字符的字符串”)

例:创建字符映射的转换表,并进行翻译

s1 = 'abcde' # 原字符串中要替换的字符

num = '12345' # 相应的映射字符的字符串。

s2 = "aaxxbbxxccxxddxxee" # 原字符串

form = s2.maketrans(s1,num) # 创建映射表,让s1字符串中的字母分别对应num中的字母并指向s2字符串。

print(form) # 查看这个映射表

print(s2.translate(form)) # 使用上面映射表进行翻译,并把并把deletechars中有的字符删掉。

输出结果:

{97: 49, 98: 50, 99: 51, 100: 52, 101: 53}

11xx22xx33xx44xx55

图示:

884071-20171127151453472-1445187671.png

32、expandtabs()

定义:expandtabs() 方法把字符串中的“\t”转为空格,并返回替换空格后的字符串。(\t默认的空格数是 8)。

格式:“字符串中的 \t ”.expandtabs(空格数)

例1:将字符串中的“\t”替换成20个空格数

s = 'yujie\tmeigui'

s1 = s.expandtabs(20)

print(s1)

输出结果:

yujie meigui

图示:

1160712-20171203211637476-741379178.png

例2:括号中不加参数默认是8个空格

s = 'yujie\tmeigui'

s1 = s.expandtabs()

print(s1)

输出结果:

yujie meigui

图示:

1160712-20171203211528788-1998820368.png

33、isdigit()

定义:判断字符串是否只由数字组成,并返回一个布尔值。

格式:“字符串”.isdigit()

例1:判断字符串是否只由数字组成

s = 'yujiemeigui'

s1 = s.isdigit()

print(s1)

输出结果:

False

图示:

1160712-20171203211754929-2045505395.png

例2:判断字符串是否只由数字组成

s = '888888'

s1 = s.isdigit()

print(s1)

输出结果:

True

图示:

1160712-20171203211843382-170451869.png

34、isalpha()

定义:判断字符串是否只由字母组成,并返回一个布尔值。

格式:“字符串”.isalpha()

例1:判断字符串是否只由字母组成

s = 'yu jie mei gui'

s1 = s.isalpha() # 因为原字符串中有空格,所以返回False

print(s1)

输出结果:

False

图示:

1160712-20171203212024460-964121595.png

例2:判断字符串是否只由字母组成

s = 'yujiemeigui'

s1 = s.isalpha()

print(s1)

输出结果:

True

图示:

1160712-20171203212331741-193444850.png

35、isalnum()

定义:判断字符串是否只由字母或数字组成,并返回一个布尔值。

格式:“字符串”.isalnum()

例1:判断字符串是否只由字母或数字组成。

s = 'yujiemeigui666'

s1 = s.isalnum()

print(s1)

输出结果:

True

图示:

1160712-20171203212256069-350252398.png

例2:判断字符串是否只由字母或数字组成。

s = 'yujiemeigui@$'

s1 = s.isalnum()

print(s1)

输出结果:

False

图示:

1160712-20171203212418882-1920186640.png

36、isupper()

定义:判断字符串中所有的字母是否为大写。并返回一个布尔值。

格式:“字符串”.isupper()

例1:判断字符串中所有的字母是否为大写

s = 'YUJIEMEIGUI@$!'

s1 = s.isupper()

print(s1)

输出结果:

True

图示:

1160712-20171203212627147-537870340.png

例2:判断字符串中所有的字母是否为大写

s = 'yuJIEMEIGUI@$!'

s1 = s.isupper()

print(s1)

输出结果:

False

图示:

1160712-20171203212715647-1305163362.png

37、islower()

定义:判断字符串中所有的字母是否为小写。并返回一个布尔值。

格式:“字符串”.islower()

例1:判断字符串中所有的字母是否为小写

s = 'yujiemeigui@$!'

s1 = s.islower()

print(s1)

输出结果:

True

图示:

1160712-20171203212821366-1480600043.png

例2:判断字符串中所有的字母是否为小写

s = 'YUJIemeigui@$!'

s1 = s.islower()

print(s1)

输出结果:

False

图示:

1160712-20171203215405366-958920847.png

38、isspace()

定义:判断字符串是否只由空白字符组成,并返回一个布尔值

格式:“字符串”.isspace()

例1:判断字符串是否只由空白字符组成

s = 'yujiemeigui'

s1 = s.isspace()

print(s1)

输出结果:

False

图示:

1160712-20171203213043757-439425916.png

例2:判断字符串是否只由空白字符组成

s = ' '

s1 = s.isspace()

print(s1)

输出结果:

True

图示:

884071-20171127130504940-1879511583.png

39、istitle()

定义:判断字符串中所有的单词的首字母是否为大写且其他字母为小写。并返回一个布尔值。

格式:“字符串”.istitle()

例1:判断字符串中所有的单词的首字母是否为大写且其他字母为小写

s = 'Yu Jie Mei Gui@!$ 666'

s1 = s.istitle()

print(s1)

输出结果:

True

图示:

1160712-20171203213245288-1759005093.png

例2:判断字符串中所有的单词的首字母是否为大写且其他字母为小写

s = 'Yu jie MEI Gui@!$ 666'

s1 = s.istitle()

print(s1)

输出结果:

False

图示:

1160712-20171203213349741-2026072257.png

40、isdecimal()

定义:判断字符串是否只包含十进制字符。这种方法只存在于unicode对象。并返回一个布尔值。(注意:定义一个十进制字符串,只需要在字符串前添加 'u' 前缀即可)

格式:“字符串”.isdecimal()

例1:判断字符串是否只包含十进制字符

s = '6666666666'

s1 = s.isdecimal()

print(s1)

输出结果:

True

图示:

1160712-20171203213454257-21881344.png

例2:判断字符串是否只包含十进制字符

s = 'yujiemeigui'

s1 = s.isdecimal()

print(s1)

输出结果:

False

图示:

1160712-20171203213710741-1692591193.png

41、isnumeric()

定义:判断字符串是否只由数字组成。只针对unicode对象。并返回一个布尔值。

格式:“字符串”.isnumeric()

例1:判断字符串是否只由数字组成。

s = '9999999999'

s1 = s.isnumeric()

print(s1)

输出结果:

True

图示:

1160712-20171203213646679-743101996.png

42、isprintable()

定义:判断字符串中的所有字符都是否为可打印的(或字符串为空)的则返回True,否则返回False

(可打印字符:ASCII码中,第0~32号及第127号是控制字符;第33~126号是可打印字符,其中第48~57号为0~9十个阿拉伯数字;65~90号为26个大写英文字母,97~122号为26个小写英文字母,其余的是一些标点符号、运算符号等)

格式:“字符串”.isprintable()

例1:判断字符串中的所有字符都是否为可打印的

s = '\t\n'

s1 = s.isprintable()

print(s1)

输出结果:

False

图示:

1160712-20171203213848491-1697165567.png

例2:判断字符串中的所有字符都是否为可打印的

s = 'yujiemeigui'

s1 = s.isprintable()

print(s1)

输出结果:

True

图示:

1160712-20171203214604335-77777750.png

例3:判断字符串中的所有字符都是否为可打印的

s = '御姐玫瑰'

s1 = s.isprintable()

print(s1)

输出结果:

True

图示:

1160712-20171203214345601-339978131.png

43、isidentifier()

定义:判断是否是合法标识符,实际上是判断变量名是否合法,并返回一个布尔值

格式:“字符串”.isidentifier()

例1:判断是否是合法标识符

s = '御姐玫瑰'

s1 = s.isidentifier()

print(s1)

输出结果:

True

图示:

1160712-20171203214835272-1312530737.png

例2:判断是否是合法标识符

s = '\t\n'

s1 = s.isidentifier()

print(s1)

输出结果:

False

图示:

1160712-20171203215136757-2145644705.png

例3:判断是否是合法标识符

s = ' '

s1 = s.isidentifier()

print(s1)

输出结果:

False

图示

1160712-20171203215013460-562790238.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/306787.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kuma 1.0 GA发布,70多项新功能和改进

喜欢就关注我们吧&#xff01;Kuma 1.0 GA 现已发布&#xff0c;包含了 70 多种新功能和改进。Kuma 是一个现代的通用服务网格控制平面&#xff0c;基于 Envoy 搭建&#xff0c;Envoy 是一个为云原生应用设计的强大的代理软件。Kuma 高效的数据平面和先进的控制平面&#xff0c…

还在犹豫是否迁移.NET5?这几个项目已经上线了!

.NET5正式发布有十多天&#xff0c;博客园、知乎、技术群都讨论的非常热烈。关于项目是否迁移.NET5的话题讨论的尤为热烈&#xff0c;作为.NET十年老司机要告诉你&#xff0c;.NET5的迁移势在必行&#xff0c;当下就是最好的时机&#xff01;犹豫项目是否升级到.NET5的&#xf…

Android切换泰语,Android应用内切换语言

首先扯点别的&#xff1a;这是第一次在简书上写东西&#xff0c;我突然明白为啥这么多人在简书上写东西了&#xff0c;因为没有广告啊&#xff0c;哈哈。最近接触到Android 应用内切换语言的问题&#xff0c;研究了两天&#xff0c;做个记录先。实现了中文&#xff0c;英文&…

工程勘察设计收费标准2002修订版_黑龙江省哈尔滨新区智能轨道快运系统1号线项目勘察设计招标...

黑龙江省哈尔滨新区智能轨道快运系统1号线项目勘察设计第一标段招标公告招标编号&#xff1a;JTZGSJ20200011.招标条件本招标项目黑龙江省哈尔滨新区智能轨道快运系统1号线项目勘察设计已由上级部门批准建设&#xff0c;项目业主为哈尔滨交通集团有限公司&#xff0c;建设资金来…

从 3.1 到 5.0 —— OpenReservation 更新记

OpenReservation 从 asp.net core 3.1 到 5.0IntroOpenReservation 是一个开源的预约系统&#xff0c;最初的版本是我们学校的活动室预约系统&#xff0c;现在正逐步变成一个更为通用的预约系统。.NET5 发布之后也是把这个项目更新到了 5.0。这个项目是一个做了很长时间的项目&…

数据结构——哈弗曼编码问题

实验六 基于哈夫曼树的数据压缩算法 【实验目的】 掌握哈夫曼树的构造算法。掌握哈夫曼编码的构造算法。 【实验内容】 问题描述 输入一串字符,根据给定的字符串中字符出现的频率建立相应的哈夫曼树, 构造哈夫曼编码表,在此基础上可以对压缩文件进行压缩(即编码),同时可以对 压…

relation does not exist报错是什么意思_为什么Zookeeper天生就是一副分布式锁的胚子?...

“ 什么是分布式锁&#xff1f;分布式锁是控制分布式系统之间同步访问共享资源的一种方式。在分布式系统中&#xff0c;常常需要协调他们的动作。图片来自 Pexels如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源&#xff0c;那么访问这些资源的时候&#xff0…

netcore一键部署到linux服务器以服务方式后台运行

AntDeploy 是我开发一款开源一键发布插件将本地vs中的代码&#xff0c;一键打包&#xff0c;部署到任意的远程服务器部署方式支持 windows服务&#xff0c;linux服务&#xff0c;docker容器&#xff0c;iis支持增量发布(只更新有修改的)支持一键回滚(出了问题快速恢复)支持查看…

数据结构——基于 Dijsktra 算法的最短路径求解

实验七 基于 Dijsktra 算法的最短路径求解 【实验目的】 掌握图的邻接矩阵表示法&#xff0c;掌握采用邻接矩阵表示法创建图的算法。掌握求解最短路径的 Dijsktra 算法。 【实验内容】 问题描述 一张地图包括 n 个城市,假设城市间有 m 条路径(有向图),每条路径的长度 已知。给…

loadrunner录制事件为0_测试工具LoadRunner常见问题汇总,解决方案整理

LoadRunner是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题&#xff0c;可适用于各种体系架构的自动负载测试&#xff0c;能预测系统行为并评估系统性能。我们在使用它进行测试的过程中经常会遇到一些错误&…

.NET应用如何优雅的实现功能定时开关

点击上方蓝字关注“汪宇杰博客”导语我们在打工的时候&#xff0c;总能遇到一种类型的需求&#xff1a;“我想要这个活动广告在双11期间才显示”&#xff0c;“我想要这个API在20号以后才开放”&#xff0c;可能你觉得这个需求没什么难的&#xff0c;写个时间判断不就行了&…

数据结构——图-迪杰斯特拉算法

问题描述 将图以邻接矩阵或邻接表存储&#xff0c;实现Dijkstra算法。 算法设计 迪杰斯特拉算法&#xff1a; 1.假设用带权的邻接矩阵arc&#xff0c;来表示带权有向图&#xff0c;arc[i][j]&#xff0c;表示弧<vi,vj>上的权值。若<vi,vj>不存在&#xff0c;则置…

单体 soa 微服务 区别_漫谈何时从单体架构迁移到微服务?

面对微服务如火如荼的发展&#xff0c;很多人都在了解&#xff0c;学习希望能在自己的项目中帮得上忙&#xff0c;当你对微服务的庐山真面目有所了解后&#xff0c;接下来就是说服自己了&#xff0c;到底如何评估微服务&#xff0c;什么时候使用微服务&#xff0c;什么时间点最…

2020了,最流行的密码依旧是123456

喜欢就关注我们吧&#xff01;密码管理器 NordPass 于日前发布的一份报告中揭示了 2020 年最常见的密码&#xff0c;并提供了有关如何使密码更安全的建议。根据 NordPass 的研究&#xff0c;在今年 200 种最常用的密码中&#xff0c;“123456”位居第一&#xff0c;有 250 万人…

计算机二级和英语四六级是同一个账号吗,英语四六级考试和计算机考试的登录账号和密码一样吗?我好像混了,但是密码一直输不对,...

两个密码都记得直接试就出来了非常的简单&#xff0c;如果实在不行的话重置一下大学英语六级考试(又称CET-6&#xff0c;全称为“College English Test-6”)是由国家统一出题的&#xff0c;统一收费&#xff0c;统一组织考试&#xff0c;用来评定应试人英语能力的全国性的考试&…

C# 中的本地函数

今天我们来聊一聊 C# 中的本地函数。本地函数是从 C# 7.0 开始引入&#xff0c;并在 C# 8.0 和 C# 9.0 中加以完善的。引入本地函数的原因我们来看一下微软 C# 语言首席设计师 Mads Torgersen 的一段话&#xff1a;Mads Torgersen&#xff1a;我们认为这个场景是有用的 —— 您…

数据结构——图-有向图和无向图的邻接表基础

#include <stdio.h> #include <stdlib.h> #define VertexType char //顶点的数据类型&#xff08;char&#xff09; #define VertexMax 20 //最大顶点个数 typedef struct ArcNode//边表 {int adjvex;//存储的是该顶点在顶点数组即AdjList[]中的位置 struct ArcN…

2019山科计算机专业分数线,2019山东科技大学研究生分数线汇总(含2016-2019历年复试)...

2019山东科技大学研究生分数线(含2016-2019历年复试)考研就是人生的第二次高考&#xff0c;是再一次改变自己命运的机会&#xff0c;所谓7分靠努力&#xff0c;3分靠填报&#xff0c;山东科技大学历年研究生复试分数线是2019-2020届考研学子十分关心的问题&#xff0c;以下是如…

b+树时间复杂度_第15期:索引设计(索引组织方式 B+ 树)

谈到索引&#xff0c;大家并不陌生。索引本身是一种数据结构&#xff0c;存在的目的主要是为了缩短数据检索的时间&#xff0c;最大程度减少磁盘 IO。任何有数据的场景几乎都有索引&#xff0c;比如手机通讯录、文件系统(ext4xfsfs)、数据库系统(MySQLOracle)。数据库系统和文件…

结合控制台程序和K8S的CronJob完成定时任务

前言 老黄前段时间遇到了一个数据清洗的需求&#xff0c;其实就是每天凌晨把昨天的数据清洗一遍&#xff0c;归归类。这是一个比较典型的定时任务的处理场景。定时任务可以说就一把利器&#xff0c;几乎每个公司都离不开&#xff0c;它的应用场景也不在少数&#xff0c;比如&am…