天天看點

Python入門(五)字元串各種問題總結

非成對出現的引号,用轉義字元"\":

成對出現的引号:

1)單引号中可用雙引号

2)雙引号中可用單引号

3)三引号可保持字元串原來的格式(從轉義字元中被解救的感覺)

如果想在字元串中既有成對單引号又有成對雙引号:

如果想在字元串中顯示少量轉義字元"\":

此種方法常用在:

發出系統響鈴聲 \a,

倒退符 \b,

換行符 \n,

橫向制表符(TAB) \t,

縱向制表符 \v,

回車符 \r,

換頁符 \f,

八進制數代表的字元 \o,

十六進制數代表的字元 \x,

其它的字元以普通格式輸出 \other

空字元 \0,

反斜杠 \。

如果想在字元串中顯示大量轉義字元"\":

若還想以結尾,隻需改為:

格式化字元及其ASCII碼:%c

格式化字元串:%s

格式化整數:%d

格式化無符号八進制、十六進制數(小寫、大寫):%o、%x、%X

格式化定點數,可設定小數點後的精度:%f

用科學計數法格式化定點數(小寫、大寫):%e、%E

根據值的大小決定使用%f還是%e(%E):%g、%G

顯示最小總寬度m,小數點後的位數n:m.n

左對齊:-

在正數前面顯示加号(+):+

在八進制數前面顯示零('0'),在十六進制數前面顯示'0x'或'0X'

顯示的數字前面填充'0'取代空格:0

把字元串的第一個字元改成大寫:capitalize()

把整個字元串的所有字元改為小寫:casefold()

将字元串居中,并用空格填充至長度width形成新字元串:center(width)

傳回sub在字元串裡出現的次數,start和end參數表示範圍:count(sub[,start[,end]])

檢查字元串是否以sub子字元串結束,如果是傳回True,否則傳回False:endswith(sub[,start[,end]])

把字元串中的tab符号(t)轉換為空格,如不指定參數,預設空格數tabsize=8:expandtabs([tabsize=8])

檢測sub是否包含在字元串中,如果有則傳回索引值,否則傳回-1:find(sub[,start[,end]])

檢測sub是否包含在字元串中,如果有則傳回索引值,否則會出現Error:index(sub[,start[,end]])

如果字元串中所有字元都為字母或數字,則傳回True,否則傳回False:isalnum()

如果字元串中字元都為字母,則傳回True,否則傳回False:isalpha()

如果字元串為Unicode數字、全角數字(雙位元組)則傳回True,羅馬數字、漢字數字傳回Flase, byte數字(單位元組)會出現Error:isdecimal()

如果字元串為Unicode數字、byte數字(單位元組)、全角數字(雙位元組)、羅馬數字則傳回True, 漢字數字傳回Flase:isdigit()

如果字元串為Unicode數字、全角數字(雙位元組)、羅馬數字、漢字數字則傳回True,byte數字(單位元組)會出現Error:isnumeric()

如果字元串中字元都是小寫,則傳回True,否則傳回Flase:islower()

如果字元串中字元都是大寫,則傳回True,否則傳回Flase:isupper()

如果字元串隻包含空格,則傳回True,否則傳回Flase:isspace()

如果字元串是标題化(所有單詞都是以大寫開始,其餘字母均小寫),則傳回True,否則傳回Flase:istitle()

以字元串為分隔符,插入到sub中所有的字元之間:join(sub)

傳回一個左對齊的字元串,并用空格填充至長度為width的新字元串:ljust(width)

将字元串中所有的大寫字母轉化為小寫:lower()

去掉字元串左邊的所有空格:lstrip()

找到子字元串sub,把字元串分成一個三元組(pre_sub,sub,fol_sub),如果字元串中不包含sub則傳回('原字元串',","):partition(sub)

把字元串中的old子字元串替換成new子字元串,如果指定count 則替換不能超過count次:replace(old,new[,count])

從右開始檢測sub是否包含在字元串中,如果有則傳回索引值,否則傳回-1(與find()類似):rfind(sub[,start[,end]])

從右開始檢測sub是否包含在字元串中,如果有則傳回索引值,否則會出現Error(與index()類似):rindex(sub[,start[,end]])

傳回一個右對齊的字元串,并用空格填充長度至width的新字元串:rjust(width)

從右開始找子字元串sub,把字元串分成一個三元組(pre_sub,sub,fol_sub),如果字元串中不包含sub則傳回('原字元串',",")(與partition(sub)類似):rpartition(sub)

删除字元串末尾的所有空格:rstrip()

不帶參數預設是以空格為分隔符切片為字元串,如果有設定maxsplit參數,則僅分割maxsplit個子字元串,傳回切片後的子字元串拼接的清單:split(sep=None,maxsplit=-1)

按'n'分隔,傳回一個包含各行作為元素的清單,如果指定keepends參數,則傳回前keepends行:splitlines(([keepends]))

檢查字元串是否以prefix開頭,是則傳回True,否則傳回False:startswith(prefix[,start[,end]])

删除字元串前邊和後邊所有的空格,chars參數可以設定删除的字元:strip([chars])

翻轉字元串中的大小寫:swapcase()

傳回标題化(所有的單詞都是以大寫開始,其餘字母均為小寫)的字元串:title()

根據table的規則(可以由str.maketrans('a','b')定制)轉換字元串中的字元:translate(table)

将字元串中所有的小寫轉化為大寫:upper()

傳回長度為width的字元串,原字元串右對齊,前面用0填充:zfill(width)

将字元串格式化:format()

1)使用位置參數:

位置參數不受順序限制,隻要format裡有對應的參數值即可為{},參數索引從0開,傳入位置參數清單可用*清單。

2)使用關鍵字參數:

關鍵字參數必須要一一對應,以**字典格式用字典輸入關鍵字參數。

3)如果想輸出{}

4)精度與進制轉換:

5)填充與格式化:{填充字元}

以encoding指定的編碼格式對字元串進行編碼,以decoding指定的解碼碼格式對字元串進行解碼:encode(encoding='utf-8',errors='strict')、decode(encoding='utf-8',errors='strict')

Python3中,以str型代替了unicode類型,經過編碼後變為了位元組類型(bytes),而但是兩個函數的使用方法不變:

END!