Python format()格式化輸出方法
自 Python 2.6 版本開(kāi)始,字符串類型(str)提供了 format() 方法對(duì)字符串進(jìn)行格式化,本節(jié)就來(lái)學(xué)習(xí)此方法。
format() 方法的語(yǔ)法格式如下:
str.format(args)
此方法中,str 用于指定字符串的顯示樣式;args 用于指定要進(jìn)行格式轉(zhuǎn)換的項(xiàng),如果有多項(xiàng),之間有逗號(hào)進(jìn)行分割。
學(xué)習(xí) format() 方法的難點(diǎn),在于搞清楚 str 顯示樣式的書(shū)寫(xiě)格式。在創(chuàng)建顯示樣式模板時(shí),需要使用{}和:來(lái)指定占位符,其完整的
語(yǔ)法格式為:
{ [index][ : [ [fill] align] [sign] [#] [width] [.precision] [type] ] }
注意:格式中用 [] 括起來(lái)的參數(shù)都是可選參數(shù),即可以使用,也可以不使用。
各個(gè)參數(shù)的含義如下:
index:指定:后邊設(shè)置的格式要作用到 args 中第幾個(gè)數(shù)據(jù),數(shù)據(jù)的索引值從 0 開(kāi)始。如果省略此選項(xiàng),則會(huì)根據(jù)args中數(shù)據(jù)的先后順序自動(dòng)分配。fill:指定空白處填充的字符。注意,當(dāng)填充字符為逗號(hào)(,)且作用于整數(shù)或浮點(diǎn)數(shù)時(shí),該整數(shù)(或浮點(diǎn)數(shù))會(huì)以逗號(hào)分隔的形式輸出,例如: (1000000會(huì)輸出 1,000,000)。align:指定數(shù)據(jù)的對(duì)齊方式,具體的對(duì)齊方式如表 1 所示。
表 1 align 參數(shù)及含義:
| align | 含義 |
|---|---|
| < | 數(shù)據(jù)左對(duì)齊。 |
| > | 數(shù)據(jù)右對(duì)齊。 |
| = | 數(shù)據(jù)右對(duì)齊,同時(shí)將符號(hào)放置在填充內(nèi)容的最左側(cè),該選項(xiàng)只對(duì)數(shù)字類型有效。 |
| ^ | 數(shù)據(jù)居中,此選項(xiàng)需和 width 參數(shù)一起使用。 |
sign:指定有無(wú)符號(hào)數(shù),此參數(shù)的值以及對(duì)應(yīng)的含義如表 2 所示:
表 2 sign 參數(shù)以含義:
| sign參數(shù) | 含義 |
|---|---|
| + | 正數(shù)前加正號(hào),負(fù)數(shù)前加負(fù)號(hào)。 |
| - | 正數(shù)前不加正號(hào),負(fù)數(shù)前加負(fù)號(hào)。 |
| 空格 | 正數(shù)前加空格,負(fù)數(shù)前加負(fù)號(hào)。 |
| # | 對(duì)于二進(jìn)制數(shù)、八進(jìn)制數(shù)和十六進(jìn)制數(shù),使用此參數(shù),各進(jìn)制數(shù)前會(huì)分別顯示 0b、0o、0x前綴;反之則不顯示前綴。 |
width:指定輸出數(shù)據(jù)時(shí)所占的寬度。precision:指定保留的小數(shù)位數(shù)。type:指定輸出數(shù)據(jù)的具體類型,如表 3 所示。
?
表 3 type 占位符類型及含義:
| type類型值 | 含義 |
|---|---|
| s | 對(duì)字符串類型格式化。 |
| d | 十進(jìn)制整數(shù)。 |
| c | 將十進(jìn)制整數(shù)自動(dòng)轉(zhuǎn)換成對(duì)應(yīng)的 Unicode 字符。 |
| e 或者 E? | 轉(zhuǎn)換成科學(xué)計(jì)數(shù)法后,再格式化輸出。 |
| g 或 G | 自動(dòng)在 e 和 f(或 E 和 F)中切換。 |
| b | 將十進(jìn)制數(shù)自動(dòng)轉(zhuǎn)換成二進(jìn)制表示,再格式化輸出。 |
| o | 將十進(jìn)制數(shù)自動(dòng)轉(zhuǎn)換成八進(jìn)制表示,再格式化輸出。 |
| x 或者 X | 將十進(jìn)制數(shù)自動(dòng)轉(zhuǎn)換成十六進(jìn)制表示,再格式化輸出。 |
| f 或者 F | 轉(zhuǎn)換為浮點(diǎn)數(shù)(默認(rèn)小數(shù)點(diǎn)后保留 6 位),再格式化輸出。 |
| % | 顯示百分比(默認(rèn)顯示小數(shù)點(diǎn)后 6 位)。 |
【例 1】
str="網(wǎng)站名稱:{:>9s}\t網(wǎng)址:{:s}"
print(str.format("C語(yǔ)言中文網(wǎng)","c.biancheng.net"))
輸出結(jié)果為:
Traceback (most recent call last):
? File "C:\Users\mengma\Desktop\1.py", line 2, in
??? print(str.format("C語(yǔ)言中文網(wǎng)","c.biancheng.net"))
ValueError: cannot switch from automatic field numbering to manual field specification
【例 2】
在實(shí)際開(kāi)發(fā)中,數(shù)值類型有多種顯示需求,比如貨幣形式、百分比形式等,使用 format() 方法可以將數(shù)值格式化為不同的形式。
#以貨幣形式顯示
print("貨幣形式:{:,d}".format(1000000))
#科學(xué)計(jì)數(shù)法表示
print("科學(xué)計(jì)數(shù)法:{:E}".format(1200.12))
#以十六進(jìn)制表示
print("100的十六進(jìn)制:{:#x}".format(100))
#輸出百分比形式
print("0.01的百分比表示:{:.0%}".format(0.01))
輸出結(jié)果為:
貨幣形式:1,000,000
科學(xué)計(jì)數(shù)法:1.200120E+03
100的十六進(jìn)制:0x64
0.01的百分比表示:1%
到此這篇關(guān)于Python format()格式化輸出方法的文章就介紹到這了,更多相關(guān)Python format()格式化輸出內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Linux上使用Python統(tǒng)計(jì)每天的鍵盤(pán)輸入次數(shù)
這篇文章主要介紹了Linux上使用Python統(tǒng)計(jì)每天的鍵盤(pán)輸入次數(shù),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-04-04
利用Pandas 創(chuàng)建空的DataFrame方法
下面小編就為大家分享一篇利用Pandas 創(chuàng)建空的DataFrame方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04
對(duì)Pandas MultiIndex(多重索引)詳解
今天小編就為大家分享一篇對(duì)Pandas MultiIndex(多重索引)詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-11-11
Python標(biāo)準(zhǔn)庫(kù)中隱藏的利器(示例詳解)
在命令行中直接使用Python標(biāo)準(zhǔn)庫(kù)的模塊,最大的好處就是就是不用寫(xiě)代碼,就能使用其中的功能,當(dāng)臨時(shí)需要一些某些功能的時(shí)候,用這種方式會(huì)快捷,方便很多,這篇文章主要介紹了Python標(biāo)準(zhǔn)庫(kù)中隱藏的利器,需要的朋友可以參考下2023-11-11
Python實(shí)現(xiàn)的連接mssql數(shù)據(jù)庫(kù)操作示例
這篇文章主要介紹了Python實(shí)現(xiàn)的連接mssql數(shù)據(jù)庫(kù)操作,結(jié)合實(shí)例形式分析了Python安裝pymssql模塊以及基于pymssql模塊連接sql2008 R2數(shù)據(jù)庫(kù)的具體操作技巧,需要的朋友可以參考下2018-08-08
Python讀取HTML中的canvas并且以圖片形式存入Word文檔
這篇文章主要介紹了Python讀取HTML中的canvas并且以圖片形式存入Word文檔,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-08-08
基于Python實(shí)現(xiàn)ComicReaper漫畫(huà)自動(dòng)爬取腳本過(guò)程解析
這篇文章主要介紹了基于Python實(shí)現(xiàn)ComicReaper漫畫(huà)自動(dòng)爬取腳本過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11

