Python個(gè)人學(xué)習(xí)筆記 字符串與格式化輸出
字符串的幾個(gè)返回布爾值的方法
⑴isalnum() 判斷所有的字符都是數(shù)字或字母

我也不知道所謂的字母范圍有多廣,標(biāo)點(diǎn)還有其他符號等返回False。
⑵isalpha() 判斷所有的字符都是字母

不多贅述。
⑶isdigit() 判斷所有的字符都是數(shù)字

isdecimal()只能判斷十進(jìn)制數(shù)字0~9,不能判斷上下標(biāo)。
isdigit()能判斷上下標(biāo)和序號。
但都不能判斷漢字?jǐn)?shù)字、羅馬數(shù)字等。
⑷isidentifier() 判斷字符串是否為有效的標(biāo)識符

需要注意的是,這個(gè)方法只能判斷是否合法,不能判斷是否能用作變量名。
⑸islower() / isupper() / istitle() 判斷所有的字符是否都為大小寫

對應(yīng)于3個(gè)方法:lower()、upper()、title()。很好理解。
可以判斷希臘字母、俄文等字母的大小寫。
⑹startswith() / endswith()?判斷是否為字符串的前綴或后綴

空串''和字符串本身既是前綴又是后綴。
⑺isprintable() 判斷字符串是否可打印 / isspace() 判斷字符串是否為空白字符

\b:退格符????\r:回車符????\f:換頁符????\v:垂直制表符
可打印指不能顯示或者不能直接用鍵盤輸入的??崭窨梢杂面I盤輸出,所以是可打印的。
空白字符指看不到的字符,但是會(huì)打印出可見空間。

其他
⑴strip() / lstrip() / rstrip()?剝離開頭和結(jié)尾/開頭/結(jié)尾的字符串

會(huì)把原字符串兩端的包含在要?jiǎng)冸x的字符串中的所有字符都剝離。
默認(rèn)為空格和換行符。
⑵ljust() / rjust() / center()?左對齊/右對齊/中心對齊

第一個(gè)參數(shù)為總長度,總長度小于字符串長度時(shí)無事發(fā)生。
第二個(gè)參數(shù)為填充字符,默認(rèn)為空格。
居中不能完美對齊時(shí)會(huì)優(yōu)先填充在左邊。
⑶zfill() 右對齊并用0填充(前導(dǎo)0)

與 rjust(width,'0') 的區(qū)別是,zfill()填充的0會(huì)作為數(shù)字的一部分。比如是負(fù)數(shù)時(shí),會(huì)填充在符號和數(shù)字之間。
⑷swapcase()?將字符串中字母的大小寫互換

⑸casefold() 將字符轉(zhuǎn)換為小寫

比 lower() 作用范圍更大。
⑹eval() 將字符串類型的數(shù)學(xué)表達(dá)式計(jì)算成數(shù)字

⑺int() 任意進(jìn)制數(shù)(2~36進(jìn)制)轉(zhuǎn)換為十進(jìn)制數(shù)

⑻b'' 字節(jié)串

通常用于處理二進(jìn)制數(shù)據(jù),比如讀寫文件時(shí)、網(wǎng)絡(luò)傳輸數(shù)據(jù)等。

格式化輸出
3個(gè)轉(zhuǎn)字符串函數(shù)str() repr() ascii()

repr()
repr()會(huì)輸出規(guī)范的源代碼的表示形式,例如換行符會(huì)輸出\n、字符串會(huì)在兩端加引號等。
ascii()
在repr()基礎(chǔ)上還會(huì)轉(zhuǎn)義非ASCII字符。

%語法
輸出字符串時(shí),可以用%s %r %a分別調(diào)用str() repr() ascii()三個(gè)函數(shù)。

可變長度輸出:可以在指示整數(shù)的位置用*表示,此時(shí)必須在元組中額外傳入?yún)?shù)來代替*。
參數(shù)在數(shù)據(jù)參數(shù)的前面。


format()函數(shù)/方法
format()函數(shù)一次只能處理一個(gè)數(shù)據(jù)。
''.format()方法的具體格式為?'{[position][[!r|s|a][:spec]]}'。
可以用!s !r !a分別調(diào)用3個(gè)函數(shù)。

語法:spec具體為?[:[fill[align]][sign][#][0][width][,][.prec][type]]。
fill為填充字符。align為對齊方式,>右對齊、<左對齊、^居中對齊、=數(shù)字填充。
可參考rjust() ljust() center() zfill()。
對齊方式必須要有填充字符才能用。

數(shù)字填充相比于zfill()可以使用其他字符來填充。
sign:+ - 空格
+:非負(fù)數(shù)前輸出正號、負(fù)數(shù)前輸出負(fù)號。
-:僅輸出負(fù)號。
空格:對于非負(fù)數(shù)在前面輸出空格,用于和負(fù)數(shù)整齊排列。

#:當(dāng)使用二、八、十六進(jìn)制時(shí),在前面加上基數(shù)前綴。

0:前導(dǎo)0。
,:千位分隔符。前導(dǎo)0作為數(shù)字的一部分,也會(huì)被加上千位分隔符。

可變長度輸出
參考%語法的可變長度輸出。但是與%語法不同,數(shù)據(jù)參數(shù)放在參數(shù)的前面。

甚至可以用來放語法。

由于大括號表示參數(shù),如果要輸出大括號,則需要雙寫括號來轉(zhuǎn)義。

f''為format()的縮寫。
雖然更簡潔,但沒法像format()方法那樣花里胡哨。

format()方法可以直接換行,f''換行得要再加個(gè)f''。