Python format()格式化輸出方法
自 Python 2.6 版本開始,字符串類型(str)提供瞭 format()
方法對字符串進行格式化,本節就來學習此方法。
format() 方法的語法格式如下:
str.format(args)
此方法中,str
用於指定字符串的顯示樣式;args
用於指定要進行格式轉換的項,如果有多項,之間有逗號進行分割。
學習 format()
方法的難點,在於搞清楚 str 顯示樣式的書寫格式。在創建顯示樣式模板時,需要使用{}和:來指定占位符,其完整的
語法格式為:
{ [index][ : [ [fill] align] [sign] [#] [width] [.precision] [type] ] }
註意:格式中用 [] 括起來的參數都是可選參數,即可以使用,也可以不使用。
各個參數的含義如下:
index
:指定:後邊設置的格式要作用到 args 中第幾個數據,數據的索引值從 0 開始。如果省略此選項,則會根據args
中數據的先後順序自動分配。fill:
指定空白處填充的字符。註意,當填充字符為逗號(,)且作用於整數或浮點數時,該整數(或浮點數)會以逗號分隔的形式輸出,例如: (1000000會輸出 1,000,000)。align
:指定數據的對齊方式,具體的對齊方式如表 1 所示。
表 1 align 參數及含義:
align | 含義 |
---|---|
< | 數據左對齊。 |
> | 數據右對齊。 |
= | 數據右對齊,同時將符號放置在填充內容的最左側,該選項隻對數字類型有效。 |
^ | 數據居中,此選項需和 width 參數一起使用。 |
sign
:指定有無符號數,此參數的值以及對應的含義如表 2 所示:
表 2 sign 參數以含義:
sign參數 | 含義 |
---|---|
+ | 正數前加正號,負數前加負號。 |
– | 正數前不加正號,負數前加負號。 |
空格 | 正數前加空格,負數前加負號。 |
# | 對於二進制數、八進制數和十六進制數,使用此參數,各進制數前會分別顯示 0b、0o、0x前綴;反之則不顯示前綴。 |
width
:指定輸出數據時所占的寬度。precision
:指定保留的小數位數。type
:指定輸出數據的具體類型,如表 3 所示。
表 3 type 占位符類型及含義:
type類型值 | 含義 |
---|---|
s | 對字符串類型格式化。 |
d | 十進制整數。 |
c | 將十進制整數自動轉換成對應的 Unicode 字符。 |
e 或者 E | 轉換成科學計數法後,再格式化輸出。 |
g 或 G | 自動在 e 和 f(或 E 和 F)中切換。 |
b | 將十進制數自動轉換成二進制表示,再格式化輸出。 |
o | 將十進制數自動轉換成八進制表示,再格式化輸出。 |
x 或者 X | 將十進制數自動轉換成十六進制表示,再格式化輸出。 |
f 或者 F | 轉換為浮點數(默認小數點後保留 6 位),再格式化輸出。 |
% | 顯示百分比(默認顯示小數點後 6 位)。 |
【例 1】
str="網站名稱:{:>9s}\t網址:{:s}" print(str.format("C語言中文網","c.biancheng.net"))
輸出結果為:
Traceback (most recent call last):
File “C:\Users\mengma\Desktop\1.py”, line 2, in
print(str.format(“C語言中文網”,”c.biancheng.net”))
ValueError: cannot switch from automatic field numbering to manual field specification
【例 2】
在實際開發中,數值類型有多種顯示需求,比如貨幣形式、百分比形式等,使用 format() 方法可以將數值格式化為不同的形式。
#以貨幣形式顯示 print("貨幣形式:{:,d}".format(1000000)) #科學計數法表示 print("科學計數法:{:E}".format(1200.12)) #以十六進制表示 print("100的十六進制:{:#x}".format(100)) #輸出百分比形式 print("0.01的百分比表示:{:.0%}".format(0.01))
輸出結果為:
貨幣形式:1,000,000
科學計數法:1.200120E+03
100的十六進制:0x64
0.01的百分比表示:1%
到此這篇關於Python format()
格式化輸出方法的文章就介紹到這瞭,更多相關Python format()
格式化輸出內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Python中str.format()方法的具體使用
- python中.format()方法使用詳解
- Python .format()函數使用方法詳解
- Python format函數詳談
- python字符串常規操作大全