編程語(yǔ)言知識(shí)Python接觸比較多的是字符串,那么操作字符串也就多。Python 支持格式化字符串的輸出 。
盡管這樣可能會(huì)用到非常復(fù)雜的表達(dá)式,但最基本的用法是將一個(gè)值插入到一個(gè)有字符串格式符的字符串中。
代碼例子:
%s:格式化字符串。
%d:格式化整數(shù)。
如果把它們插入的值交換位置報(bào)錯(cuò)。
注意字符串格式符會(huì)規(guī)定插入值的類(lèi)型。
大概的意思就是:%d需要一個(gè)數(shù)字,而不是字符串。
我開(kāi)始學(xué)習(xí)python不知道字符串格式化,都是用加號(hào)拼接。
來(lái)看一下python字符串格式化符號(hào):
%c:字符及其ASCII碼
%s:字符串
%d:整數(shù)
%u:無(wú)符號(hào)整型
%o:無(wú)符號(hào)八進(jìn)制數(shù)
%x:無(wú)符號(hào)十六進(jìn)制數(shù)
%X:無(wú)符號(hào)十六進(jìn)制數(shù)(大寫(xiě))
%f:浮點(diǎn)數(shù)字,可指定小數(shù)點(diǎn)后的精度
%e:用科學(xué)計(jì)數(shù)法格式化浮點(diǎn)數(shù)
%E:作用同%e,用科學(xué)計(jì)數(shù)法格式化浮點(diǎn)數(shù)
%g:%f和%e的簡(jiǎn)寫(xiě)
%G:%f 和 %E 的簡(jiǎn)寫(xiě)
%p:用十六進(jìn)制數(shù)格式化變量的地址
Python3其實(shí)不推薦使用這種格式了,當(dāng)然不使用也要知道一下比較好。
而從Python2.6 開(kāi)始,新增了一種格式化字符串的函數(shù) str.format(),它增強(qiáng)了字符串格式化的功能。
基本語(yǔ)法是通過(guò){}和:來(lái)代替以前的%。
如果把它們插入的值交換位置會(huì)不會(huì)報(bào)錯(cuò)?
不會(huì)限制它的類(lèi)型,還是可以輸出打印結(jié)果。
從這里可以看出一個(gè){}對(duì)應(yīng)一個(gè)format的值,其實(shí)不是的,format 函數(shù)可以接受不限參數(shù),位置可以不按順序。
format接收的是一個(gè)元組。如果{}比值數(shù)量多呢?
用索引來(lái)定義值在那里格式化。
可以用可以設(shè)置參數(shù),需要注意關(guān)鍵字跟format里面的一樣,可以多次使用,跟索引一樣。
關(guān)鍵字格式化:
還可以用列表參數(shù)傳值:其實(shí)可以看成一個(gè)元組中有兩個(gè)列表,然后用索引去取值。
字典參數(shù)傳值:跟關(guān)鍵字參數(shù)形式有點(diǎn)像,選擇適合自己的參數(shù)去傳值就好。
看看格式化數(shù)字的多種方法。
保留小數(shù)點(diǎn):
保留幾位小數(shù)點(diǎn),就把數(shù)字改為幾。不帶小數(shù)的值為0。
帶符號(hào)保留小數(shù)點(diǎn):
格式化對(duì)齊:
分別是居中、左對(duì)齊、右對(duì)齊,后面帶寬度, 冒號(hào)后面帶填充的字符,只能是一個(gè)字符,不指定則默認(rèn)是用空格填充。
居中對(duì)齊:
左對(duì)齊:
右對(duì)齊:
{}里面的數(shù)字10是長(zhǎng)度,格式化的值長(zhǎng)度沒(méi)有達(dá)到就用{}里的g來(lái)填充。
以逗號(hào)分隔的數(shù)字格式:是不是跟銀行的數(shù)字用逗號(hào)隔開(kāi)一樣。
百分比格式:{}里面的數(shù)字9是百分比格式小數(shù)后面的0。不要0就寫(xiě)0。
科學(xué)數(shù)字記法:
進(jìn)制轉(zhuǎn)換格式化:
b、d、o、x 分別是二進(jìn)制、十進(jìn)制、八進(jìn)制、十六進(jìn)制。
熟悉掌握f(shuō)ormat()格式化函數(shù),可以組合多種多樣的格式。后面用Python很多時(shí)候都會(huì)用到format方法,拼接網(wǎng)址、拼接字符串寫(xiě)入文件等等。
聯(lián)系客服