什么是格式符调鲸?
對格式符盛杰,我的理解是只能輸出對應(yīng)格式的東西,比如說我要求年齡輸出必須是整數(shù)藐石,其他類型都不行即供,那就必須是整數(shù),其實(shí)我覺得有點(diǎn)正則表達(dá)式的味道在里面于微,當(dāng)然這個(gè)格式符也沒必要去記逗嫡。用到了再去查也可以,只需要要練一遍就行了
%[(name)][flags][width][.precision]typecode
如上所示株依,格式符是以%開頭的一種符號
1.(name)表示我們設(shè)值得key驱证,即通過key就可以去取到值,比如:
name='張林'
age=24
newstr="我的名字是%(n)s,年齡%(a)d"%({"n":name,"a":age})
print(newstr) ? ? //這里需要注意得是格式符有個(gè)順序問題恋腕,也就是必填得typecode必須放在最后抹锄;
2.width表示輸出得值共占多少位,比如:
newstr="我的名字是%(n)5s,年齡%(a)d"%({"n":name,"a":age}) ?
輸出結(jié)果是:我的名字是 ? ?張林,年齡24
3. flags可以有+,-,' '或0。+表示右對齊伙单。-表示左對齊获高。' '為一個(gè)空格,表示在正數(shù)的左側(cè)填充一個(gè)空格吻育,從而與負(fù)數(shù)對齊念秧。0表示使用0填充。比如:
tag=2 ? newstr="%02d"%tag ? ?print(newstr)
4. .precision表示小數(shù)得精度:
tag=5.666 ? newstr="%.8f"%tag ? ?print(newstr)
最后還有一個(gè)typecode是必填得扫沼,意思是控制輸出得類型出爹,我們到底應(yīng)該輸出什么類型,也可以作一些轉(zhuǎn)換缎除;
tag=16 ? newstr="%o"%tag ? ?print(newstr) ? ??20
%s字符串 (采用str()的顯示)
%r字符串 (采用repr()的顯示)
%c單個(gè)字符
%b二進(jìn)制整數(shù)
%d十進(jìn)制整數(shù)
%i十進(jìn)制整數(shù)
%o八進(jìn)制整數(shù)
%x十六進(jìn)制整數(shù)
%e指數(shù) (基底寫為e)
%E指數(shù) (基底寫為E)
%f浮點(diǎn)數(shù)
%F浮點(diǎn)數(shù)严就,與上相同
%g指數(shù)(e)或浮點(diǎn)數(shù) (根據(jù)顯示長度)
%G指數(shù)(E)或浮點(diǎn)數(shù) (根據(jù)顯示長度)
最后注意一點(diǎn)就是不能講十進(jìn)制轉(zhuǎn)成二進(jìn)制輸出,也就是沒有%b這個(gè)格式符器罐;