python3中str(字符串)的使用教程
作者:渐晨
本文主要介绍的是python3中对str(字符串)的使用操作总结,文中介绍的非常详细,需要的朋友们下面来一起看看吧。
__add__函数 (在后面追加字符串)
s1 ='Hello' s2 = s1.__add__(' boy!') print(s2) #输出:Hello boy!
__contains__(判断是否包含某字符串,包含则返回True)
s1 = 'Hello' result = s1.__contains__('He') print(result) #输出:True
__eq__(判断两个字符串是否相同,相同则返回True)
s1 = 'Hello' s2 = 'How' result = s1.__eq__(s2) print(result) #输出:False
__format__
#占位
__getattribute__
#占位
__getitem__
#占位
__getnewargs__
#占位
__ge__ (大于或等于)
print('b'.__ge__('a')) #输出:True
__gt__(大于)
print('b'.__ge__('a')) #输出:True
__hash__
#占位
__iter__
#占位
__len__(返回字符串长度)
print('abc'.__len__()) #输出:3
__le__(小于或等于)
print('b'.__le__('a')) #输出:False
__lt__(小于)
print('b'.__lt__('a')) #输出:False
__mod__
#占位
__mul__
#占位
__new__
#占位
__ne__
#占位
__repr__
#占位
__rmod__
#占位
__rmul__
#占位
__sizeof__
#占位
__str__(返回自已)
print('abc'.__str__()) #输出:abc
capitalize(首字母大写)
s = 'tom' print(s.capitalize()) #输出:Tom
casefold(大写转换成小写)
s = 'TOM' print(s.casefold()) #输出:tom
center (指定长度和填充字符,内容居中,填充字符留空则为空格)
s = 'Tom' print(s.center(20,'-')) #输出:--------Tom---------
count(计算某个字符串出现的个数,第二个参数:起始位置,第三个参数:结束位置)
s = 'aabbbcccccdd' print(s.count('cc',3,11)) #输出:2
encode(编码)
s = "中文" print(s.encode('gbk')) #输出:b'\xd6\xd0\xce\xc4'
endswith(判断字符串是否以某个字符或字符串结尾的,第二个参数:起始位置,第三个参数:结束位置)
s = 'Projects' print(s.endswith('ts')) print(s.endswith('e',0,5)) #输出:True # True
expandtabs(把1个tab键转换成7个空格)
s = 'H\ti' print(s.expandtabs()) #输出:H i
find(查找某个字符或字符串的索引位置,第二个参数:起始位置,第三个参数:结束位置)
s = 'Hello' print(s.find('o')) print(s.find('o',0,3)) #找不到返回-1 #输出:4 # -1
format(字符串格式化/拼接)
name = 'Tom' age = 18 s = '{0}\'s age is {1}'.format(name,age) print(s) #或者 str = '{name}\'s age is {age}' result = str.format(age=18,name='Tom') print(result) #输出:Tom's age is 18
format_map
#占位
index(查找某个字符或字符串的索引位置,和find不一样是,如果字符不存在,会报错)
s = 'Hello' print(s.index('o')) print(s.index('e',0,3)) #输出:4 # 1
isalnum(是否为字母或数字)
s = '!#' print(s.isalnum()) #输出:False
isalpha(是否为字母)
s = '123' print(s.isalpha()) #输出:False
isdecimal(是否为十进制数)
s = '123' print(s.isdecimal()) #输出:True #True: Unicode数字,,全角数字(双字节) #False: 罗马数字,汉字数字 #Error: byte数字(单字节)
isdigit(是否为数字)
s = '123' print(s.isdigit()) #输出:True #True: Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字 #False: 汉字数字
isidentifier(是否为标识符/变量名)
s = '1num' print(s.isidentifier()) #输出:False #因为变量名不能以数字开头
islower(是否全部为小写字母)
s = 'Hello' print(s.islower()) #输出:False
isnumeric(是否为数字)
s = '123' print(s.isnumeric()) #输出:True #True: Unicode数字,全角数字(双字节),罗马数字,汉字数字
isprintable(是否为可打印字符/能否原样输出)
s = '\n' print(s.isprintable()) #输出:False
isspace(是否为空格)
print(' '.isspace()) print('\t'.isspace()) #输出:True # True
istitle(是否为标题/每个单词首字母大写)
print('Hello Boy'.istitle()) print('hello boy'.istitle()) #输出:True # False
isupper(是否全部为大写字母)
print('BOY'.isupper()) print('Boy'.isupper()) #输出:True # False
join(将序列中的元素以指定的字符连接生成一个新的字符串)
s = ['H','e','l','l','o'] print(''.join(s)) print('-'.join(s)) #输出:Hello # H-e-l-l-o
ljust(指定长度和填充字符,内容左对齐,填充字符留空则为空格)
s = 'Hello' print(s.ljust(10,'-')) #输出:Hello-----
lower(字符串全部换成小写)
s = 'TOM' print(s.lower()) #输出:tom
lstrip(移除字符串左侧指定的字符,默认为空格)
s = ' Tom' print(s.lstrip()) #输出:Tom
maketrans(创建字符映射的转换表,配合translate函数使用)
intab = "abcde" outtab = "12345" trantab = str.maketrans(intab, outtab) str = "Hello abc" print (str.translate(trantab)) #输出:H5llo 123
partition( 指定分隔符,将字符串进行分割)
s = 'IamTom' print(s.partition('am')) #输出:('I', 'am', 'Tom')
replace(把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。)
s = 'Tom' print(s.replace('m','o')) #输出:Too
rfind(从右边查找指定字符串出现的位置,如果没有匹配项则返回-1)
s = 'one two one' print(s.rfind('one')) print(s.rfind('one',0,6)) #指定起始和结束位置 #输出:8 # 0
rindex(从右边查找指定字符串出现的位置,如果没有匹配项则报错)
s = 'one two one' print(s.rindex('one')) print(s.rindex('one',0,6)) #指定起始和结束位置 #输出:8 # 0
rjust(指定长度和填充字符,内容右对齐,填充字符留空则为空格)
s = 'Hello' print(s.rjust(10,'-')) #输出:-----Hello
rpartition( 指定分隔符,从右边开始将字符串进行分割)
s = 'IamTom_IamTom' print(s.rpartition('am')) #输出:('IamTom_I', 'am', 'Tom')
rsplit(指定分隔符对字符串进行切片,如果指定第二个参数num,则只分隔num次,最后返回一个列表)
s = 'a b c d' print(s.rsplit()) print(s.rsplit(' ',2)) #从右边开始,按空格分隔两次 #输出:['a', 'b', 'c', 'd'] # ['a b', 'c', 'd']
rstrip(删除字符串末尾的指定字符,默认为空格)
s = '!!! I am Tom !!!' print(s.rstrip('!')) #输出:!!! I am Tom
split(指定分隔符对字符串进行切片,如果指定第二个参数num,则只分隔num次,最后返回一个列表)
s = 'a b c d' print(s.split()) print(s.split(' ',2)) #从左边开始,按空格分隔两次 #输出:['a', 'b', 'c', 'd'] # ['a', 'b', 'c d']
splitlines(按换行符来分隔字符串,返回一个列表)
s = 'a\nb\nc' print(s.splitlines()) #默认参数为False print(s.splitlines(True)) #指定Ture参数,则保留换行符 #输出:['a', 'b', 'c'] # ['a\n', 'b\n', 'c']
startswith(判断字符串是否以某个字符或字符串开头的,第二个参数:起始位置,第三个参数:结束位置)
s = 'Projects' print(s.startswith('Pr')) print(s.startswith('e',4,8)) #输出:True # True
strip(删除字符串前后的指定字符,默认为空格)
s = '!!! I am Tom !!!' print(s.strip('!')) #输出: I am Tom
swapcase(大小写互换)
s = 'I am Tom' print(s.swapcase()) #输出:i AM tOM
title(转换成标题,就是每个单词首字母大写)
s = 'i am tom' print(s.title()) #输出:I Am Tom
translate(根据maketrans方法创建的表,进行字符替换)
intab = "abcde" outtab = "12345" trantab = str.maketrans(intab, outtab) str = "Hello abc" print (str.translate(trantab)) #输出:H5llo 123
upper(小写转换成大写)
s = 'Hello' print(s.upper()) #输出:HELLO
zfill(指定字符串的长度。原字符串右对齐,前面填充0)
s = 'Hello' print(s.zfill(10)) # 输出:00000Hello
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。