溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python中如何實(shí)現(xiàn)format()格式化輸出

發(fā)布時(shí)間:2021-12-13 09:09:27 來源:億速云 閱讀:259 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要為大家展示了“Python中如何實(shí)現(xiàn)format()格式化輸出”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Python中如何實(shí)現(xiàn)format()格式化輸出”這篇文章吧。

format() 方法的語法格式如下:

str.format(args)

此方法中,str 用于指定字符串的顯示樣式;args 用于指定要進(jìn)行格式轉(zhuǎn)換的項(xiàng),如果有多項(xiàng),之間有逗號(hào)進(jìn)行分割。

學(xué)習(xí) format() 方法的難點(diǎn),在于搞清楚 str 顯示樣式的書寫格式。在創(chuàng)建顯示樣式模板時(shí),需要使用{}和:來指定占位符,其完整的

語法格式為:

{ [index][ : [ [fill] align] [sign] [#] [width] [.precision] [type] ] }

注意:格式中用 [] 括起來的參數(shù)都是可選參數(shù),即可以使用,也可以不使用。

各個(gè)參數(shù)的含義如下:

  • index:指定:后邊設(shè)置的格式要作用到 args 中第幾個(gè)數(shù)據(jù),數(shù)據(jù)的索引值從 0 開始。如果省略此選項(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:指定有無符號(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語言中文網(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語言中文網(wǎng)","c.biancheng.net"))
ValueError: cannot switch from automatic field numbering to manual field specification

【例 2】

在實(shí)際開發(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%

以上是“Python中如何實(shí)現(xiàn)format()格式化輸出”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI