1. upper
2. lower
3. title
4. swapcase
5. capitalize
6. count('x')
7. len(string)
8. find
9. index
10. center
11. ljust
12. rjust
13. zfill
14. strip
15. rstrip
16. lstrip
17. repalce
18. join
19. split
20. splitlines
21. eval
1. startswith
2. endswith
3. isupper
4. islower
5. isalnum
6. isalpha
7. isdigit
8. isnumeric
9. isdecimal
10. isspace
11. istitle
1. 映射表 (str不用导入,直接用)
1. str.maketrans
2. translate
import string
1. string.whitespace
2. string.ascii_letters
3. string.ascii_uppercase
4. string.ascii_lowercase
5. string.digits
6. string.octdigits
7. string.hexdigits
8. string.printable
9. string.punctuation
功能:将字符串当成有效的表达式来求值,并返回结果
参数:
expression: -- 字符串类型的表达式
globals: --变量作用域,全局命名空间,如果被提供,则必须是一个字典**对象**
locals: --变量作用域,局部命名空间,如果被提供,可以是任何映射**对象**
返回值:
表达式的结果
expression字符串的使用
string1 = "[1,'213',{12:'sdf'},'2324']"
result = eval(string1)
print(result,type(result))
[1, '213', {12: 'sdf'}, '2324']
globals参数的使用
globals1 = {'ac':1,'b':2}
#注意字典里的变量a和b都是字符串!
string2 = 'ac+b'
result1 = eval(string2,globals1)
print(result1,type(result1))
3
locals参数的使用
globals3 = {'var1':23,'var2':34}
locals3 = {'t':878,'u':97}
string3 = 'var1-var2 +t/u'
results = eval(string3,globals3,locals3)
print(results,type(results))
#自我感觉globals,locals就是引入变量的作用域
-1.9484536082474229
功能:将字符串小写字母变为大写
返回值:大写字符串
var1 = 'i dream my painting,and then i paint my dream.'
result = var1.upper()
###注意是在字符串后面添加upper()函数,不是在upper()函数里面添加字符串。
print(result)
I DREAM MY PAINTING,AND THEN I PAINT MY DREAM.
功能:将字符串大写字母变为小写
返回值:小写字符串
str1 = 'WHEN I WAS YOUNG,NOSTALGIA WAS A TINY,TINY STAMP'
result = str1.lower()
print(result)
when i was young,nostalgia was a tiny,tiny stamp
功能:将字符串语句里的单词开头字母大写
返回值:单词开头字母大写的字符串
str1 = "Dont't you feel any compunction?"
result = str1.title()
print(result)
Dont'T You Feel Any Compunction?
功能:将字符串大小写互换
返回值:大小写互换之后字符串
str1 = "Life's like a movie,write your own ending,Keep believing,keep pretending."
results = str1.swapcase()
print(results)
lIFE'S LIKE A MOVIE,WRITE YOUR OWN ENDING,kEEP BELIEVING,KEEP PRETENDING.
功能:将段落的一个字母大写
print("love doesn't end,just because we dont't see each other.".capitalize())
Love doesn't end,just because we dont't see each other.
功能:统计某个字符或字符串出现的次数
str1 = 'sdfsdgsdgsdgdsgdsgd'
print(str1.count('s'))
6
功能:统计字符串的长度
str1 = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
print(len(str1))
#注意字符串放在len()函数里进行计算。
38
功能:查找某个字符或字符串的索引
返回值:查询到返回索引值 ,查询不到返回-1.不会报错。
str1 = 'abcdefghijhlmnopqrstuvwxyz'
result = str1.find('d')
print(result)
result1 = str1.find('4')
print(result1)
3
-1
功能:查找某个字符或者字符串的索引
返回值:查询到返回值,查询不到报错。find()查询不到不报错。
str1 = 'abcdefghijhlmnopqrstuvwxyz'
result = str1.index('d')
print(result)
result1 = str1.index('4')
print(result1)
3
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
in ()
2 result = str1.index('d')
3 print(result)
----> 4 result1 = str1.index('4')
5 print(result1)
ValueError: substring not found
功能:指定字符串长度,并居中,空余指定长度超过字符长度时,可以指定用某个字符代替
参数:center(未来字符宽度,空白填充字符),字符宽度必须指定,空白填充字符没有时,默认用空格代替
str1 = ' sefs dsfd gs dg d gsdg dsgsdgsdg'
result = str1.center(100,'*')
result1 = str1.center(100)
print(result)
print(result1)
****************************** sefs dsfd gs dg d gsdg dsgsdgsdg*******************************
sefs dsfd gs dg d gsdg dsgsdgsdg
功能:向左对齐
参数:ljust(未来字符宽度,空白填充字符),字符宽度必须指定,空白填充字符没有时,默认用空格代替
str1 = 'sdfjds fsdklskdg iid gskjdgd doijg dsgsd g dg'
result = str1.ljust(100,'$')
print(result)
sdfjds fsdklskdg iid gskjdgd doijg dsgsd g dg$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
功能:向右对齐
参数:rjust(未来字符宽度,空白填充字符),字符宽度必须指定,空白填充字符没有时,默认用空格代替
str1 = 'sdsglsjdgljsdgjosd jgsd'
result = str1.rjust(50)
print(result)
sdsglsjdgljsdgjosd jgsd
功能:用0填充空白位置
str1 = 'sfsdjflsdjg dsg'
print(str1.zfill(100))
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000sfsdjflsdjg dsg
功能:strip()---去除字符串左右两侧的空白
rstrip()---去除字符串右侧的空白
lstrip()---去除字符串左侧的空白
str1 = ' dsgdgs sdgsd '
result = str1.strip()
print(result)
restlt1 = str1.rstrip()
print(result1)
result2 = str1.lstrip()
print(result2)
dsgdgs sdgsd
sefs dsfd gs dg d gsdg dsgsdgsdg
dsgdgs sdgsd
功能:使用指定字符或字符串,替换原字符串中的字符或字符串/
参数:replace(old,new),old:被替换的字符串,new:替换字符串。
str1 = 'abcdefghrjklmnopqistuvwxyz'
result = str1.replace('a','1')
print(result)
1bcdefghrjklmnopqistuvwxyz
功能:使用指定字符或字符串,拼接由字符串组成的数组,返回字符串
list1 = ['sdgsdg','sxdgd','lioncj']
result = '**'.join(list1)
print(result)
sdgsdg**sxdgd**lioncj
dict1 = {'sdg':'sdgd','sdgl':'lijog','oigon':'oidn'}
result = '&&'.join(dict1)
print(result)
sdg&&sdgl&&oigon
set1 = {'sdjg','dgsdg','pojgo'}
result = '%%'.join(set1)
print(result)
sdjg%%dgsdg%%pojgo
功能:使用指定字符或字符串将原字符串切割
返回值:由切割后的字符串组成的列表。
str1 = 'sligne234in kdghu98 ifdsighdsalgajdngdglkajdnghasdgahds'
result = str1.split('s')
print(result)
str2 = 'sdlgaaingdksgoiaalonlknaaoonmgdoaaaoidngfs'
result1 = str2.split('aa')
print(result1)
['', 'ligne234in kdghu98 ifd', 'ighd', 'algajdngdglkajdngha', 'dgahd', '']
['sdlg', 'ingdksgoi', 'lonlkn', 'oonmgdo', 'aoidngfs']
功能:将字符串按照行分割
参数:keepends -- 在输出结果里是否去掉换行符('\r', '\r\n', \n'),默认为 False,不包含换行符,如果为 True,则保留换行符。
返回值:返回一个包含各行作为元素的列表
####对文件读取后处理数据很有用。
str1 = 'skdjigaaiogjsna\noaooignaao\r\ngiriii\rladiiaaijngslkdnjaasdifnmd'
result= str1.splitlines()
print(result)
result = str1.splitlines(True)
print(result)
['skdjigaaiogjsna', 'oaooignaao', 'giriii', 'ladiiaaijngslkdnjaasdifnmd']
['skdjigaaiogjsna\n', 'oaooignaao\r\n', 'giriii\r', 'ladiiaaijngslkdnjaasdifnmd']
功能:判断字符串是否由指定字符开头
aa = 'abdcda'
print(aa.startswith('a'))
True
功能:判断字符串是否由指定字符结尾
bb = 'sdhguidgnuh'
print(bb.endswith('h'))
True
功能:判断字符串是否都是大写或者小写
cc = 'ldigndssdf'
print(cc.isupper())
print(cc.islower())
dd = 'IDUGFSK'
print(dd.isupper())
print(dd.islower())
False
True
True
False
功能:判断字符串是否都是由数字、字母或汉字构成的
asd = 'sduidenhgfsidgiideg凯斯厄了848487942'
print(asd.isalnum())
ss = '29438yw984eyth'
print(ss.isalnum())
True
True
功能:判断字符串是否全是由字母或汉字构成
dd = 'sdhugiksdinbgnsg8987.。--*&…………¥¥#'
print(dd.isalpha())
ee = 'sieghjdhgisdh'
print(ee.isalpha())
hh = 'isdnginside是'
print(hh.isalpha())
False
True
True
功能:判断字符串是否都是由数字构成
uu = '284755'
print(uu.isdigit())
print(uu.isnumeric())
uu1 = 'iudg98766656565'
print(uu1.isdigit())
print(uu1.isnumeric())
True
True
False
False
功能:检查字符串是否只包含十进制字符。这种方法只存在于unicode对象。
注意:定义一个十进制字符串,只需要在字符串前添加 'u' 前缀即可。
aa = u'25356457385'
print(aa.isdecimal())
bb = '7454866'
print(bb.isdecimal())
True
True
功能:判断字符串是否都是由空白字符构成,如空格,回车。
aa = ' '
print(aa.isspace())
True
功能:如果字符串中所有的单词拼写首字母是否为大写,且其他字母为小写则返回 True,否则返回 False.
str1 = 'Ading SDGd Eindgf EG'
print(str1.istitle())
str1 = 'Ading Edinfg Dinfd'
print(str1.istitle())
False
True
str也可以用''代替。
功能:制作映射表
参数:一个参数时,必须为字典格式;
两个参数时:第一个--要被替换的字符,第二个--替换字符;
三个参数时:第三个参数表示要删除的字符。
功能:应用映射表
理解:str.maketrans()只能用于单个字符的替换操作,优势是可以一次替换多个字符。(只能替换单个字符)
而replace()方法一次只能替换一种字符或字符串,优势是可以替换长字符串(长度大于2的)
table = str.maketrans('abcdefg','1234567')
str1 = 'seisnadksndadfisnfghgosndfgasiesdkfadewefr'
result = str1.translate(table)
print(result)
s5isn14ksn4146isn67h7osn4671si5s4k6145w56r
table = str.maketrans('abcdefg','1234567','as')
#第三个参数是要删除的字符
str1 = 'hhhseisnadksndadfisnfghhhhgosndfgasiesdkfadewefrjjhhj'
result = str1.translate(table)
print(result)
hhh5in4kn446in67hhhh7on467i54k645w56rjjhhj
table1 = ''.maketrans({'a':'111','b':'222','c':'333'})
#字典格式时,key的长度必须为1.
str1 = 'lisgaaaigslbbblingsccclsidn'
result = str1.translate(table1)
print(result)
lisg111111111igsl222222222lings333333333lsidn
功能:获取所有的空白字符
import string
print(string.whitespace)
功能:获取ascii码中的所有字母表
import string
print(string.ascii_letters)
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
功能:获取ascii码中的所有大写字母
import string
print(string.ascii_uppercase)
ABCDEFGHIJKLMNOPQRSTUVWXYZ
功能:获取ascii码中的所有小写字母
import string
print(string.ascii_lowercase)
abcdefghijklmnopqrstuvwxyz
功能:获取ascii码中所有10进制数字字符
import string
print(string.digits)
0123456789
功能:获取八进制所有数字字符
import string
print(string.octdigits)
01234567
功能:获取十六进制的所有数字字符
import string
print(string.hexdigits)
0123456789abcdefABCDEF
获取所有可见字符
import string
print(string.printable)
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
功能:获取所有标点符号
import string
print(string.punctuation)
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~