人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

Python學(xué)習(xí)之str 以及常用的命令

發(fā)布日期:2021-12-17 12:26 | 文章來源:源碼之家

str 字符串

例如:

name = "adam"
name1 = "周大福"

命令語句的條件參數(shù)配置格式

center(self,width,fillchar= None)

self:可以直接忽略

width:必須有參數(shù)

fillchar= None:可以不用單獨設(shè)置參數(shù)

凡有參數(shù) = None的 都可以理解為 可以不用單獨設(shè)置此參數(shù)

str 里有一些常用的命令

1、capitalize

首字母大寫

name = "adam"
v = name.capitalize()	#name內(nèi)的字符串首字母大寫
print(type(v),v)

2、casefold和lower

所有變小寫

name = "aDam"
v = name.casefold()	#name內(nèi)的字符串變成小寫(它可以處理不同的語種內(nèi)的字母大小寫)
print(type(v),v)
name = "aDam"
v2 = name.lower()	#name內(nèi)的字符串變成小寫(它只能處理英文)
print(type(v2),v2)

3、center

設(shè)置字符串長度并將內(nèi)容劇中,空白位置進行填充并且何可設(shè)置填充的符號默認(rèn)填充空格

name = "adam"
v = name.center(25,"+")		#在name賦值的字符串的前后各增加加號 ,使得整體字符串占一共有8個字符之前name的賦值字符串劇中,并且賦值給v
print(type(v),v)

4、count

尋找字符串中的子序列或字符出現(xiàn)的次數(shù),并可以設(shè)置起始的尋找位數(shù)

name = "adam"
v = name.count('a',2,4) #計算a在name賦值的字符串內(nèi) 出現(xiàn)過多少次,不寫(,2,4)的話默認(rèn)是沖頭到位找,寫了就是從地2到4位尋找
print (v)

5、endswith和startswith

endswith 判斷結(jié)尾的字符是什么 可以設(shè)置 起始位置

startswith 判斷開頭的字符是什么 可以設(shè)置 起始位置 注意設(shè)置的開始位置要前移一個單位

name = "adam"
v = name.endswith('d',1,2) #判斷 name賦值的字符串 從第一個字符到第二個字符結(jié)束 結(jié)尾的字母是不是d
v1 = name.startswith('a',0,2)#判斷name賦值的字符串,從第0位到第2位 是不是以 字母a開頭
print (v)
print (v1)

6、expandtabs

將\t 前面字符位數(shù)用空格補至x位 ,如\t 前字符位數(shù)等于x 則 直接用x個空格替換\t 如\t前字符位數(shù)大于x 則在前面字符最末尾補x余數(shù)個空格(輸出結(jié)果不再顯示\t)

test = '12345\t6789'
v = test.expandtabs(8)
v1 = test.expandtabs(3)
v2 = test.expandtabs(5)
print(v)
print(v1)
print(v2)
#應(yīng)用實例:
test = '姓名\t性別\t身高\n張三\t男\(zhòng)t180\n張三\t男\(zhòng)t180\n張三\t男\(zhòng)t180'
v = test.expandtabs(10)
print(v)

7、find

從頭往后找到第一個子序列獲取其前面有多少個字符,也可以規(guī)定尋找范圍,設(shè)定的搜索范圍邏輯關(guān)系位 起始位數(shù) <= 被搜索范圍 <結(jié)束位置。

name = "adamadamadam"	#創(chuàng)建變量name并賦值adamadamadam
v = name.find('ma',6,9) 	#設(shè)定搜索ma子序列從6到8位
print (v)	#顯示v的值
#結(jié)果為:7

PS:當(dāng)find找不到目標(biāo)子序列的時候會賦值位-1而另一個尋找命令index在找不到目標(biāo)子序列時會直接程序報錯,所以推薦使用find命令

8、format

格式化,將一個字符串中的占位符替換為指定的值“大括號內(nèi)的就是占位符”

name = "adam"	#創(chuàng)建變量name并賦值為adam
xingBie = "男"	#創(chuàng)建變量xingBie并賦值為"男"
xianShi = "I am {name1},{xingBie1}" 	#創(chuàng)建變量xianShi并賦值為"I am {name1},{xingBie1}" 
print(xianShi)	#顯示xianShi
#結(jié)果:I am {name1},{xingBie1}
v = xianShi.format(name1 = name ,xingBie1 = xingBie) #使用變量name和xingBie替換xianShi變量中的name1和xingBie1,并且賦值給v
print(v)	#顯示v
#結(jié)果:I am adam,男

format的另一種書寫格式,可以使用數(shù)字占位,并且在賦值的時候程序會默認(rèn)依次對數(shù)字賦值,創(chuàng)建占位符號時需要從0開始使用數(shù)字占位

name = "adam"	#創(chuàng)建變量name并賦值為adam
xingBie = "男"	#創(chuàng)建變量xingBie并賦值為"男"
xianShi = "I am {0},{1}" #創(chuàng)建變量xianShi并賦值為"I am {0},{1}"
print(xianShi)	#顯示xianShi
#結(jié)果:I am {0},{1}
v1 = xianShi.format(name ,xingBie) #使用變量name 和 xingBie的值替換xianShi中的 0 和 1的值,并且賦值給v1
print(v1) #顯示v1
#結(jié)果:I am adam,男

9、format_map

(字典)。。。。。

name = "adam"	#創(chuàng)建變量name并賦值為adam
xingBie = "男"	#創(chuàng)建變量xingBie并賦值為"男"
xianShi = "I am {name1},{xingBie1}" 	#創(chuàng)建變量xianShi并賦值為"I am {name1},{xingBie1}" 
print(xianShi)	#顯示xianShi
v = xianShi.format(name1 = name ,xingBie1 = xingBie) #使用變量name和xingBie替換xianShi變量中的name1和xingBie1,并且賦值給v
print(v)	#顯示v
#結(jié)果:I am adam,男
v1 = xianShi.format_map({'name1':name,'xingBie1':xingBie})	#使用format_map的格式給v1賦值
print(v1)	#顯示v1
#結(jié)果:I am adam,男

10、isalnum

判斷字符串中是否只有字母 或 數(shù)字,輸出布爾值

name = 'adam123'#給變量name賦值adam
name1 = 'adam+'#給name1賦值adam+
name2 = 'adam'
name3 = '123'
v = name.isalnum()#判斷name中是否只含有字母或數(shù)字,并把布爾值賦值給v
v1 = name1.isalnum() #判斷name1中是否只含有字母或數(shù)字,并把布爾值賦值給v1
v2 = name2.isalnum()
v3 = name3.isalnum()
print(v)
print(v1)
print(v2)
print(v3)

11、isalpha

判斷字符串中是否只含有字母 或 漢字,輸出布爾值

name = 'adam123'#給變量name賦值adam123
name1 = 'adam+'#給name1賦值adam+
name2 = 'adam'#給name2賦值adam
name3 = '張三' #給name3賦值張三
v = name.isalpha()
v1 = name1.isalpha()
v2 = name2.isalpha()
v3 = name3.isalpha()
print(v)
print(v1)
print(v2)
print(v3)

12、isdecimal、isdigit、isnumeric

他們時用來判斷字符串是否只是數(shù)字輸出布爾值

isdecimal :只能判斷阿拉伯?dāng)?shù)字為 真 (推薦用這個比較準(zhǔn))

isdigit:阿拉伯?dāng)?shù)字和符號數(shù)“123和③” 為真

isnumeric:阿拉伯?dāng)?shù)字、符號數(shù)字、羅馬數(shù)字、漢字?jǐn)?shù),均為真“123、③、Ⅲ、四”

test1 =  '123'  #賦值
test2 = '1a' #這個也可以是16進制數(shù)
test3 = '②' #符號數(shù)字 ②
test4 = 'Ⅲ' #羅馬數(shù)字3,這是一個字符
test5 = '四' #漢字?jǐn)?shù)字四
vecimal1 = test1.isdecimal() #判斷字符串是否為數(shù)字
vecimal2 = test2.isdecimal()
vecimal3 = test3.isdecimal()
vecimal4 = test4.isdecimal()
vecimal5 = test5.isdecimal()
vigit1 = test1.isdigit() #判斷字符串是否為數(shù)字
vigit2 = test2.isdigit()
vigit3 = test3.isdigit()
vigit4 = test4.isdigit()
vigit5 = test5.isdigit()
vnumeric1 = test1.isnumeric()
vnumeric2 = test2.isnumeric()
vnumeric3 = test3.isnumeric()
vnumeric4 = test4.isnumeric()
vnumeric5 = test5.isnumeric()
print(vecimal1, vecimal2, vecimal3, vecimal4, vecimal5)  #打印isdecimal判斷的結(jié)果
print(vigit1, vigit2, vigit3, vigit4, vigit5)  #打印isdigit判斷的結(jié)果
print(vnumeric1, vnumeric2, vnumeric3, vnumeric4, vnumeric5)

13、isidentifier

測試字符串是不是以 字母數(shù)字下劃線組成并且不以字母或下劃線開頭

PS:這個命令不會因為 字符串是python的關(guān)鍵字 就判斷為假

print( "if".isidentifier() )
print( "def".isidentifier() )
print( "class".isidentifier() )
print( "_a".isidentifier() )
print( "中國123a".isidentifier() )
print( "123".isidentifier() )
print( "3a".isidentifier() )
print( "".isidentifier() )

14、islower、lower、isupper、upper

islower 判斷字符串是否全部為小寫

lower 把字符串內(nèi)所有字符所有字符變成小寫

isupper 判斷字符串是否全部為大寫

upper 把字符串內(nèi)所有字符所有字符變成大寫

name = 'Adam'
name1 = 'ADAM'
name2 = 'adaM'
name3 = 'aDam'
v = name.islower()
v1 = name1.islower()
v2 = name2.islower()
v3 = name3.islower()
print('Adam',v,'ADAM',v1,'adaM',v2,'aDam',v3)
x = name.lower()
x1 = name1.lower()
x2 = name2.lower()
x3 = name3.lower()
print('Adam',x,'ADAM',x1,'adaM',x2,'aDam',x3)
n = name.isupper()
n1 = name1.isupper()
n2 = name2.isupper()
n3 = name3.isupper()
print('Adam',n,'ADAM',n1,'adaM',n2,'aDam',n3)
k = name.upper()
k1 = name1.upper()
k2 = name2.upper()
k3 = name3.upper()
print('Adam',k,'ADAM',k1,'adaM',k2,'aDam',k3)

15、isprintable

判斷字符串中是否含有不可見或不可打印的 字符比如 \n \t 等

print('\tabc'.isprintable())
print('abc\n'.isprintable())
print('\tabc\n'.isprintable())
print('abc'.isprintable())

16、isspace

判斷字符串是否全部都是空格

test = '  '
test1 = '  a'
test2 = ' a '
test3 = ''
v = test.isspace()
v1 = test1.isspace()
v2 = test2.isspace()
v3 = test3.isspace()
print(v,v1,v2,v3) #True False False False

17、istitle、title

istitle 判斷是否為標(biāo)題(所有單詞首字母均為大寫)

title 將字符串轉(zhuǎn)換成標(biāo)題也就是把所有字母的 首字母轉(zhuǎn)換成大寫

test = 'wo shi zhang san , wo ba sui le '
v = test.istitle()
print(v) #False
v1 = test.title()
print(v1) #Wo Shi Zhang San , Wo Ba Sui Le 
v2 = v1.istitle()
print(v2) #True

18、join

在字符與字符 中間加上 設(shè)置好的間隔符當(dāng)變量值中只有一個字符的時候則什么都不做,可以設(shè)置添加的符號

test = '我是張三,我八歲了'
test1 = '我'
print(test) #我是張三,我八歲了
x = ' '
v = x.join(test)
print(v) #我 是 張 三 , 我 八 歲 了
v1 = x.join(test1)
print(v1) #我

19、ljus、rjust、center、zfill

ljust 字符串靠左對齊 不夠位數(shù)的用設(shè)置的字符補齊

rjust 字符串靠右對齊 不夠位數(shù)的用設(shè)置的字符補齊

center 字符串劇中對齊 不夠位數(shù)的用設(shè)置的字符補齊,如果只需要補1個字符,則補在字符串左側(cè)

zfill 只能在字符串左側(cè)填充0

name = 'adam'
v = name.ljust(6,'*') #文字左對齊 不至6位用*補位
v1 = name.rjust(6,'*') #文字右對齊 不至6位用*補位
v2 = name.center(6,'*')  #文字劇中 不至6位用*補位
v3 = name.zfill(6) #文字右對齊 不至6位用*補位
print(v,v1,v2,v3)  #adam** **adam *adam* 00adam

20、lstrip 、rstrip、strip

lstrip 從左向右匹配刪除空格,直到遇到不匹配的那個字符

rstrip 從右向左匹配刪除空格,直到遇到不匹配的那個字符

strip 去掉兩側(cè)的空格

PS:他們還可以去掉 /t /n這樣的功能符(默認(rèn)下),還可以指定去掉任意字符,匹配原則是 優(yōu)先最多匹配原則

name = ' ad am '
v = name.lstrip()  #去掉左側(cè)的空格直到遇到其他字符
v1 = name.rstrip() #去掉右側(cè)的空格直到遇到其他字符
v2 = name.strip()  #去掉兩側(cè)的空格直到遇到其他字符
print(v) #ad am 
print(v1)# ad am
print(v2)#ad am

21、translate、maketrans

translate:執(zhí)行映射轉(zhuǎn)換

maketrans:創(chuàng)建映射轉(zhuǎn)換關(guān)系,先寫入原字符表,再寫入要轉(zhuǎn)換成的字符表,也可以再定義一個需要刪除的字符表

yuanZiFu = 'abcde'	#定義原始匹配字符
bianGengZiFu = '12345'	#定義匹配后變更的字符	
shanChuZiFu = 'fghij'  #定義原始匹配刪除的字符
zhuanHuanBiao = str.maketrans(yuanZiFu,bianGengZiFu)	#創(chuàng)建字符映射轉(zhuǎn)換表(匹配yuanZiFu轉(zhuǎn)換成bianGengZiFu)
zhuanHuanShanChuBiao = str.maketrans(yuanZiFu,bianGengZiFu,shanChuZiFu)	#創(chuàng)建字符映射轉(zhuǎn)換刪除表(匹配yuanZiFu轉(zhuǎn)換成bianGengZiFu刪除shanChuZiFu)
yuanShiZiFuChuan = 'a1b2c3d4e5fagbhcidje' 	#創(chuàng)建原始字符串
print(yuanShiZiFuChuan.translate(zhuanHuanBiao)) #1122334455f1g2h3i4j5
print(yuanShiZiFuChuan.translate(zhuanHuanShanChuBiao)) #112233445512345

22、partition、rpartition、split、rsplit、splitlines() 、splitlines(True) 、splitlines(Fales)

partition 把字符串分割為3份 從字符串的左側(cè)向右尋找 設(shè)置的分隔符號 進行分割,分割符號會被單獨分割成中間的那部分

rpartition 把字符串分割為3份 從字符串的右側(cè)向左尋找 設(shè)置的分隔符號 進行分割,分割符號會被單獨分割成中間的那部分

ps partitionrpartition需要設(shè)置分割符

split 可以指定分割的塊數(shù) 左側(cè)向右尋找分割符號 默認(rèn)是匹配的所有分割符號 全部都進行分割 且分割符號并不會出現(xiàn)在結(jié)果中

rsplit 可以指定分割的塊數(shù) 右側(cè)向左尋找分割符號 默認(rèn)是匹配的所有分割符號 全部都進行分割 且分割符號并不會出現(xiàn)在結(jié)果中

ps:分割符默認(rèn)為所有的空字符,包括空格、換行(\n)、制表符(\t)等。

splitlines() 默認(rèn)根據(jù)換行符號\n 進行分割 且不會保留換行符號

splitlines(True) 根據(jù)換行符號\n 進行分割 且保留換行符號 換行符號出現(xiàn)在被分割模塊的右側(cè)splitlines(Fales) 根據(jù)換行符號\n 進行分割 且不會保留換行符號

x1 = '123\n45\t123\n45\t123\n45\t123\n45'
print(x1.partition('5')) #('123\n4', '5', '\t123\n45\t123\n45\t123\n45')
print(x1.rpartition('5'))#('123\n45\t123\n45\t123\n45\t123\n4', '5', '')
print(x1.split('\n',3))#['123', '45\t123', '45\t123', '45\t123\n45']
print(x1.rsplit('\t',2))  #['123\n45\t123\n45', '123\n45', '123\n45']
print(x1.splitlines())  #['123', '45\t123', '45\t123', '45\t123', '45']
print(x1.splitlines(True))  #['123\n', '45\t123\n', '45\t123\n', '45\t123\n', '45']
print(x1.splitlines(False)) #['123', '45\t123', '45\t123', '45\t123', '45']

23、swapcase

大小寫轉(zhuǎn)換 ,把字符串里面的大小寫全部轉(zhuǎn)換

name = 'Adam'
v = name.swapcase()
print(v) #aDAM

24、replace

替換,從左往右尋找匹配的子序列,然后全部進行替換,可以設(shè)定替換幾個,("原變量中的子序列","替換后的子序列",替換幾個子序列)

name = 'adamadamadam'
v = name.replace('da','yyy')
print(v) #ayyymayyymayyym

PS:匹配原則最長公共子序列 兩個或多個字符串內(nèi) 最長的相同的子序列

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注本站的更多內(nèi)容!

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部