欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2021年10月29日 11:17:59   作者:小瑀1987  
下面小編就為大家?guī)硪黄狿ython的str 以及常用的命令。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

str 字符串

例如:

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

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

center(self,width,fillchar= None)

self:可以直接忽略

width:必須有參數(shù)

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

凡有參數(shù) = None的 都可以理解為 可以不用單獨(dú)設(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)容劇中,空白位置進(jìn)行填充并且何可設(shè)置填充的符號(hào)默認(rèn)填充空格

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

4、count

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

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

5、endswith和startswith

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

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

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

6、expandtabs

將\t 前面字符位數(shù)用空格補(bǔ)至x位 ,如\t 前字符位數(shù)等于x 則 直接用x個(gè)空格替換\t 如\t前字符位數(shù)大于x 則在前面字符最末尾補(bǔ)x余數(shù)個(gè)空格(輸出結(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)用實(shí)例:
test = '姓名\t性別\t身高\(yùn)n張三\t男\(zhòng)t180\n張三\t男\(zhòng)t180\n張三\t男\(zhòng)t180'
v = test.expandtabs(10)
print(v)

7、find

從頭往后找到第一個(gè)子序列獲取其前面有多少個(gè)字符,也可以規(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)子序列的時(shí)候會(huì)賦值位-1而另一個(gè)尋找命令index在找不到目標(biāo)子序列時(shí)會(huì)直接程序報(bào)錯(cuò),所以推薦使用find命令

8、format

格式化,將一個(gè)字符串中的占位符替換為指定的值“大括號(hào)內(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ù)字占位,并且在賦值的時(shí)候程序會(huì)默認(rèn)依次對(duì)數(shù)字賦值,創(chuàng)建占位符號(hào)時(shí)需要從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í)用來判斷字符串是否只是數(shù)字輸出布爾值

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

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

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

test1 =  '123'  #賦值
test2 = '1a'    #這個(gè)也可以是16進(jìn)制數(shù)
test3 = '②'    #符號(hào)數(shù)字 ②
test4 = 'Ⅲ' #羅馬數(shù)字3,這是一個(gè)字符
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

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

PS:這個(gè)命令不會(huì)因?yàn)?字符串是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)變量值中只有一個(gè)字符的時(shí)候則什么都不做,可以設(shè)置添加的符號(hào)

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

19、ljus、rjust、center、zfill

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

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

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

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

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

20、lstrip 、rstrip、strip

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

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

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)換成的字符表,也可以再定義一個(gè)需要?jiǎng)h除的字符表

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è)置的分隔符號(hào) 進(jìn)行分割,分割符號(hào)會(huì)被單獨(dú)分割成中間的那部分

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

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

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

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

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

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

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

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

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

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

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

總結(jié)

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

相關(guān)文章

  • matplotlib運(yùn)行時(shí)配置(Runtime Configuration,rc)參數(shù)rcParams解析

    matplotlib運(yùn)行時(shí)配置(Runtime Configuration,rc)參數(shù)rcParams解析

    這篇文章主要介紹了matplotlib運(yùn)行時(shí)配置(Runtime Configuration,rc)參數(shù)rcParams解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Python字符串及文本模式方法詳解

    Python字符串及文本模式方法詳解

    這篇文章主要介紹了Python字符串及文本模式方法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Python的字符串示例講解

    Python的字符串示例講解

    本文重點(diǎn)講解字符串的創(chuàng)建,字符串的定義和字符串的常見操作,對(duì)Python的字符串不熟悉的同學(xué)隨小編一起學(xué)習(xí)吧!
    2021-04-04
  • python BytesIO 中 read 用法示例詳解

    python BytesIO 中 read 用法示例詳解

    這篇文章主要介紹了python BytesIO 中 read 用法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06
  • Python?中?Kwargs?解析的最佳實(shí)踐教程

    Python?中?Kwargs?解析的最佳實(shí)踐教程

    這篇文章主要介紹了Python中Kwargs解析的最佳實(shí)踐,使用?kwargs,我們可以編寫帶有任意數(shù)量關(guān)鍵字參數(shù)的函數(shù),當(dāng)我們想為函數(shù)提供靈活的接口時(shí),這會(huì)很有用,需要的朋友可以參考下
    2023-06-06
  • Python實(shí)現(xiàn)簡單的列表冒泡排序和反轉(zhuǎn)列表操作示例

    Python實(shí)現(xiàn)簡單的列表冒泡排序和反轉(zhuǎn)列表操作示例

    這篇文章主要介紹了Python實(shí)現(xiàn)簡單的列表冒泡排序和反轉(zhuǎn)列表操作,涉及Python列表遍歷、排序、追加等相關(guān)操作技巧,需要的朋友可以參考下
    2019-07-07
  • python實(shí)現(xiàn)替換word中的關(guān)鍵文字(使用通配符)

    python實(shí)現(xiàn)替換word中的關(guān)鍵文字(使用通配符)

    今天小編就為大家分享一篇python實(shí)現(xiàn)替換word中的關(guān)鍵文字(使用通配符),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • 十個(gè)Python經(jīng)典小游戲的代碼合集

    十個(gè)Python經(jīng)典小游戲的代碼合集

    這篇文章主要為大家分享十個(gè)Python經(jīng)典的小游戲代碼,非常適合Python初學(xué)者練手。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以嘗試一下
    2022-05-05
  • Python實(shí)現(xiàn)的直接插入排序算法示例

    Python實(shí)現(xiàn)的直接插入排序算法示例

    這篇文章主要介紹了Python實(shí)現(xiàn)的直接插入排序算法,結(jié)合實(shí)例形式分析了Python直接插入排序算法的定義與使用相關(guān)操作技巧,代碼備有較為詳盡的注釋便于理解,需要的朋友可以參考下
    2018-04-04
  • Python中的map()函數(shù)和reduce()函數(shù)的用法

    Python中的map()函數(shù)和reduce()函數(shù)的用法

    這篇文章主要介紹了Python中的map()函數(shù)和reduce()函數(shù)的用法,代碼基于Python2.x版本,需要的朋友可以參考下
    2015-04-04

最新評(píng)論