您好,登錄后才能下訂單哦!
這篇文章主要介紹了Python中str的常用命令有哪些,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
例如:
name = "adam"
name1 = "周大福"
命令語句的條件參數配置格式
center(self,width,fillchar= None)
self:
可以直接忽略
width:
必須有參數
fillchar= None:
可以不用單獨設置參數
凡有參數 = None的 都可以理解為 可以不用單獨設置此參數
首字母大寫
name = "adam" v = name.capitalize() #name內的字符串首字母大寫 print(type(v),v)
所有變小寫
name = "aDam" v = name.casefold() #name內的字符串變成小寫(它可以處理不同的語種內的字母大小寫) print(type(v),v) name = "aDam" v2 = name.lower() #name內的字符串變成小寫(它只能處理英文) print(type(v2),v2)
設置字符串長度并將內容劇中,空白位置進行填充并且何可設置填充的符號默認填充空格
name = "adam" v = name.center(25,"+") #在name賦值的字符串的前后各增加加號 ,使得整體字符串占一共有8個字符之前name的賦值字符串劇中,并且賦值給v print(type(v),v)
尋找字符串中的子序列或字符出現的次數,并可以設置起始的尋找位數
name = "adam" v = name.count('a',2,4) #計算a在name賦值的字符串內 出現過多少次,不寫(,2,4)的話默認是沖頭到位找,寫了就是從地2到4位尋找 print (v)
endswith
判斷結尾的字符是什么 可以設置 起始位置
startswith
判斷開頭的字符是什么 可以設置 起始位置 注意設置的開始位置要前移一個單位
name = "adam" v = name.endswith('d',1,2) #判斷 name賦值的字符串 從第一個字符到第二個字符結束 結尾的字母是不是d v1 = name.startswith('a',0,2)#判斷name賦值的字符串,從第0位到第2位 是不是以 字母a開頭 print (v) print (v1)
將\t 前面字符位數用空格補至x位 ,如\t 前字符位數等于x 則 直接用x個空格替換\t 如\t前字符位數大于x 則在前面字符最末尾補x余數個空格(輸出結果不再顯示\t)
test = '12345\t6789' v = test.expandtabs(8) v1 = test.expandtabs(3) v2 = test.expandtabs(5) print(v) print(v1) print(v2) #應用實例: test = '姓名\t性別\t身高\n張三\t男\t180\n張三\t男\t180\n張三\t男\t180' v = test.expandtabs(10) print(v)
從頭往后找到第一個子序列獲取其前面有多少個字符,也可以規定尋找范圍,設定的搜索范圍邏輯關系位 起始位數 <= 被搜索范圍 <結束位置。
name = "adamadamadam" #創建變量name并賦值adamadamadam v = name.find('ma',6,9) #設定搜索ma子序列從6到8位 print (v) #顯示v的值 #結果為:7
PS:當find找不到目標子序列的時候會賦值位-1而另一個尋找命令index在找不到目標子序列時會直接程序報錯,所以推薦使用find命令
格式化,將一個字符串中的占位符替換為指定的值“大括號內的就是占位符”
name = "adam" #創建變量name并賦值為adam xingBie = "男" #創建變量xingBie并賦值為"男" xianShi = "I am {name1},{xingBie1}" #創建變量xianShi并賦值為"I am {name1},{xingBie1}" print(xianShi) #顯示xianShi #結果:I am {name1},{xingBie1} v = xianShi.format(name1 = name ,xingBie1 = xingBie) #使用變量name和xingBie替換xianShi變量中的name1和xingBie1,并且賦值給v print(v) #顯示v #結果:I am adam,男
format的另一種書寫格式,可以使用數字占位,并且在賦值的時候程序會默認依次對數字賦值,創建占位符號時需要從0開始使用數字占位
name = "adam" #創建變量name并賦值為adam xingBie = "男" #創建變量xingBie并賦值為"男" xianShi = "I am {0},{1}" #創建變量xianShi并賦值為"I am {0},{1}" print(xianShi) #顯示xianShi #結果:I am {0},{1} v1 = xianShi.format(name ,xingBie) #使用變量name 和 xingBie的值替換xianShi中的 0 和 1的值,并且賦值給v1 print(v1) #顯示v1 #結果:I am adam,男
(字典)。。。。。
name = "adam" #創建變量name并賦值為adam xingBie = "男" #創建變量xingBie并賦值為"男" xianShi = "I am {name1},{xingBie1}" #創建變量xianShi并賦值為"I am {name1},{xingBie1}" print(xianShi) #顯示xianShi v = xianShi.format(name1 = name ,xingBie1 = xingBie) #使用變量name和xingBie替換xianShi變量中的name1和xingBie1,并且賦值給v print(v) #顯示v #結果:I am adam,男 v1 = xianShi.format_map({'name1':name,'xingBie1':xingBie}) #使用format_map的格式給v1賦值 print(v1) #顯示v1 #結果:I am adam,男
判斷字符串中是否只有字母 或 數字,輸出布爾值
name = 'adam123' #給變量name賦值adam name1 = 'adam+' #給name1賦值adam+ name2 = 'adam' name3 = '123' v = name.isalnum() #判斷name中是否只含有字母或數字,并把布爾值賦值給v v1 = name1.isalnum() #判斷name1中是否只含有字母或數字,并把布爾值賦值給v1 v2 = name2.isalnum() v3 = name3.isalnum() print(v) print(v1) print(v2) print(v3)
判斷字符串中是否只含有字母 或 漢字,輸出布爾值
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)
他們時用來判斷字符串是否只是數字輸出布爾值
isdecimal
:只能判斷阿拉伯數字為 真 (推薦用這個比較準)
isdigit
:阿拉伯數字和符號數“123和③” 為真
isnumeric
:阿拉伯數字、符號數字、羅馬數字、漢字數,均為真“123、③、Ⅲ、四”
test1 = '123' #賦值 test2 = '1a' #這個也可以是16進制數 test3 = '②' #符號數字 ② test4 = 'Ⅲ' #羅馬數字3,這是一個字符 test5 = '四' #漢字數字四 vecimal1 = test1.isdecimal() #判斷字符串是否為數字 vecimal2 = test2.isdecimal() vecimal3 = test3.isdecimal() vecimal4 = test4.isdecimal() vecimal5 = test5.isdecimal() vigit1 = test1.isdigit() #判斷字符串是否為數字 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判斷的結果 print(vigit1, vigit2, vigit3, vigit4, vigit5) #打印isdigit判斷的結果 print(vnumeric1, vnumeric2, vnumeric3, vnumeric4, vnumeric5)
測試字符串是不是以 字母數字下劃線組成并且不以字母或下劃線開頭
PS:這個命令不會因為 字符串是python的關鍵字 就判斷為假
print( "if".isidentifier() ) print( "def".isidentifier() ) print( "class".isidentifier() ) print( "_a".isidentifier() ) print( "中國123a".isidentifier() ) print( "123".isidentifier() ) print( "3a".isidentifier() ) print( "".isidentifier() )
islower
判斷字符串是否全部為小寫
lower
把字符串內所有字符所有字符變成小寫
isupper
判斷字符串是否全部為大寫
upper
把字符串內所有字符所有字符變成大寫
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)
判斷字符串中是否含有不可見或不可打印的 字符比如 \n \t 等
print('\tabc'.isprintable()) print('abc\n'.isprintable()) print('\tabc\n'.isprintable()) print('abc'.isprintable())
判斷字符串是否全部都是空格
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
istitle
判斷是否為標題(所有單詞首字母均為大寫)
title
將字符串轉換成標題也就是把所有字母的 首字母轉換成大寫
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
在字符與字符 中間加上 設置好的間隔符當變量值中只有一個字符的時候則什么都不做,可以設置添加的符號
test = '我是張三,我八歲了' test1 = '我' print(test) #我是張三,我八歲了 x = ' ' v = x.join(test) print(v) #我 是 張 三 , 我 八 歲 了 v1 = x.join(test1) print(v1) #我
ljust
字符串靠左對齊 不夠位數的用設置的字符補齊
rjust
字符串靠右對齊 不夠位數的用設置的字符補齊
center
字符串劇中對齊 不夠位數的用設置的字符補齊,如果只需要補1個字符,則補在字符串左側
zfill
只能在字符串左側填充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
lstrip
從左向右匹配刪除空格,直到遇到不匹配的那個字符
rstrip
從右向左匹配刪除空格,直到遇到不匹配的那個字符
strip
去掉兩側的空格
PS:他們還可以去掉 /t /n這樣的功能符(默認下),還可以指定去掉任意字符,匹配原則是 優先最多匹配原則
name = ' ad am ' v = name.lstrip() #去掉左側的空格直到遇到其他字符 v1 = name.rstrip() #去掉右側的空格直到遇到其他字符 v2 = name.strip() #去掉兩側的空格直到遇到其他字符 print(v) #ad am print(v1) # ad am print(v2) #ad am
translate:
執行映射轉換
maketrans:
創建映射轉換關系,先寫入原字符表,再寫入要轉換成的字符表,也可以再定義一個需要刪除的字符表
yuanZiFu = 'abcde' #定義原始匹配字符 bianGengZiFu = '12345' #定義匹配后變更的字符 shanChuZiFu = 'fghij' #定義原始匹配刪除的字符 zhuanHuanBiao = str.maketrans(yuanZiFu,bianGengZiFu) #創建字符映射轉換表(匹配yuanZiFu轉換成bianGengZiFu) zhuanHuanShanChuBiao = str.maketrans(yuanZiFu,bianGengZiFu,shanChuZiFu) #創建字符映射轉換刪除表(匹配yuanZiFu轉換成bianGengZiFu刪除shanChuZiFu) yuanShiZiFuChuan = 'a1b2c3d4e5fagbhcidje' #創建原始字符串 print(yuanShiZiFuChuan.translate(zhuanHuanBiao)) #1122334455f1g2h4i4j5 print(yuanShiZiFuChuan.translate(zhuanHuanShanChuBiao)) #112233445512345
partition
把字符串分割為3份 從字符串的左側向右尋找 設置的分隔符號 進行分割,分割符號會被單獨分割成中間的那部分
rpartition
把字符串分割為3份 從字符串的右側向左尋找 設置的分隔符號 進行分割,分割符號會被單獨分割成中間的那部分
ps partition
和rpartition
需要設置分割符
split
可以指定分割的塊數 左側向右尋找分割符號 默認是匹配的所有分割符號 全部都進行分割 且分割符號并不會出現在結果中
rsplit
可以指定分割的塊數 右側向左尋找分割符號 默認是匹配的所有分割符號 全部都進行分割 且分割符號并不會出現在結果中
ps:分割符默認為所有的空字符,包括空格、換行(\n)、制表符(\t)等。
splitlines()
默認根據換行符號\n 進行分割 且不會保留換行符號
splitlines(True)
根據換行符號\n 進行分割 且保留換行符號 換行符號出現在被分割模塊的右側splitlines(Fales) 根據換行符號\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']
大小寫轉換 ,把字符串里面的大小寫全部轉換
name = 'Adam' v = name.swapcase() print(v) #aDAM
替換,從左往右尋找匹配的子序列,然后全部進行替換,可以設定替換幾個,("原變量中的子序列","替換后的子序列",替換幾個子序列)
name = 'adamadamadam' v = name.replace('da','yyy') print(v) #ayyymayyymayyym
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Python中str的常用命令有哪些”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。