4.python字符串

2022-10-16  本文已影响0人  生信百宝箱

4.字符串

4.1 转义字符

image.png
#转义字符
>>> print("\"读万卷书\"\n\"行万里路\"")
"读万卷书"
"行万里路"
#单双引号合用
>>> print('"读万卷书"\n"行万里路"')
"读万卷书"
"行万里路

4.2 字符串格式化

4.2.1 百分号(%)

image.png
>>> print("今天是星期%s" % 5)
今天是星期5
>>> print("话费余额为%f" % 5.09)
话费余额为5.090000
>>> print("话费余额为%.1f" % 5.09)
话费余额为5.1
>>> print("话费余额为%10.1f" % 5.09)
话费余额为       5.1
#获取前5个字符
>>> print("字符精度获取%.5s" % ("hello python"))
字符精度获取hello

4.2.2 元组的字符串格式化

占位符个数和元组个数要相等;

若使用列表代替元组,列表仅代表一个值。

#占位符个数和元组个数要相等
>>> print("今天是周%d,我要去%s,花了%.2f元" % (5,"游乐场",6.322)) 
今天是周5,我要去游乐场,花了6.32元
#列表代替元组
>>> print("今天是周%s" % [5,"游乐场",6.322]) 
今天是周[5, '游乐场', 6.322]
#使用*作为字段宽度或精度(或两者都用*),数值会从元组中读出。
>>> print("从元组中获取精度%*.*f" % (10,5,10.111111))
从元组中获取精度  10.11111

4.2.3 format字符串格式化

用一个点号连接字符串和格式化值,多于一个的格式化值需要用元组表示。字符串中,带格式化的占位符用花括号({})表示。

>>> print("{}年冬奥会将在{}举行".format(2022,"北京"))
2022年冬奥会将在北京举行
>>> print("{year}年冬奥会将在{adress}举行".format(adress="北京",year=2022))
2022年冬奥会将在北京举行

4.2.4 f字符串格式化

f字符串格式化包含了由花括号括起来的替换字段,替换字段是表达式,它们会在运行时计算,然后使用format()协议进行格式化

>>> year=2022
>>> adress="北京"
>>> print(f'{year}年冬奥会会在{adress}举行')
2022年冬奥会会在北京举行

4.3 字符串方法

4.3.1 split()方法

split()方法通过指定分割符对字符串进行切片。

如果参数num有指定值,就只分割num个子字符串。

>>> test="stay folish stay hunguy"
>>> test.split()
['stay', 'folish', 'stay', 'hunguy']
>>> test.split("s")
['', 'tay foli', 'h ', 'tay hunguy']
>>> test.split("s",2)
['', 'tay foli', 'h stay hunguy']

4.3.2 strip()方法

strip()方法用于移除字符串头尾指定的字符。

strip()方法有返回结果,返回结果是字符串移除头尾指定的字符后所生成的新字符串。

若不指定字符,则默认为空格。

>>> test="--stay-folish-stay-hunguy--"
>>> test.strip("-")
'stay-folish-stay-hunguy'

strip()方法只移除字符串头部和尾部能匹配到的字符,中间的字符不会移除

4.3.3 join()方法

join()方法用于将序列中的元素以指定字符串连接成一个新字符串。

#元组
>>> test=("stay","foolish","stay","hungry")
>>> test1="+".join(test)
>>> test1
'stay+foolish+stay+hungry'
#列表
>>> test
['stay', 'foolish', 'stay', 'hungry']
>>> test1="aaa".join(test)
>>> test1
'stayaaafoolishaaastayaaahungry'

join()方法只能对字符串元素进行连接,用join()方法进行操作时,调用和被调用的对象必须都是字符串,任意一方不是字符串,最终操作结果都会报错。

4.3.4 find()方法

find()方法用于检测字符串中是否包含指定的子字符串。

返回结果为匹配字符串所在位置的最左端索引下标值,如果没有找到匹配字符串,就返回-1。

>>> test="stay foolish,stay hungry"
>>> test.find("foolish")
5
>>> test.find("aaa")
-1

4.3.5 lower()方法

lower()方法用于将字符串中所有大写字母转换为小写。

>>> field='DO IT NOW'
#field字符串不转换为小写字母,找不到匹配字符串
>>> field.find('It')          
-1
#field字符串先转换为小写字母,但It不转为小写字母,找不到匹配字符串
>>> field.lower().find('It')  
-1
#都使用lower()方法转换成小写字母后查找
>>> field.lower().find('It'.lower())  
3

4.3.6 upper()方法

upper()方法用于将字符串中的小写字母转换为大写字母。

>>> field='do it now'
>>> field.find("IT")
-1
>>> field.upper().find("IT")
3

4.3.7 replace()方法

replace()方法用于做字符串替换。

>>> test="aaa,bb,aa,ccc,cc"
>>> test.replace("aa","111")
'111a,bb,111,ccc,cc
>>> test.replace("aa","111",1)
'111a,bb,aa,ccc,cc

使用replace()方法时,若不指定第3个参数,则字符串中所有匹配到的字符都会被替换;若指定第3个参数,则从字符串的左边开始往右进行查找匹配并替换,达到指定的替换次数后,便不再继续查找,若字符串查找结束仍没有达到指定的替换次数,则结束。

4.3.8 swapcase()方法

swapcase()方法用于对字符串中的大小写字母进行转换,将字符串中的大写字母转换为小写字母、小写字母转换为大写字母。

>>> test="AAA,bb,aa,CCc,cc"
>>> test.swapcase()
'aaa,BB,AA,ccC,CC'

4.3.9 translate()方法

>>> intab='adefs'
>>> outtab='12345'
>>> trantab=str.maketrans(intab,outtab)
>>> st='just do it'
>>> st.translate(trantab)
ju5t 2o it
上一篇下一篇

猜你喜欢

热点阅读