python資料結構之字串格式化
阿新 • • 發佈:2018-12-21
字串格式化:
1.簡單運用
字串型別格式化採用format()方法,基本使用格式是:
<模板字串>.format(<逗號分隔的引數>)
呼叫format()方法後會返回一個新的字串,引數從0 開始編號。
a="{}:計算機{}的CPU 佔用率為{}%。".format("2016-12-31","PYTHON",10)
print(a)
輸出:
2016-12-31:計算機PYTHON的CPU 佔用率為10%。
2.格式控制資訊
format()方法中<模板字串>的槽除了包括引數序號,還可以包括格式控制資訊。此時,槽的內部樣式如下:
{<引數序號>: <格式控制標記>}
其中,<格式控制標記>用來控制引數顯示時的格式,包括:<填充><對齊><寬度>,<.精度><型別>6 個欄位,這些欄位都是可選的,可以組合使用,逐一介紹如下。
<寬度>
指當前槽的設定輸出字元寬度,如果該槽對應的format()引數長度比<寬度>設定值大,則使用引數實際長度。如果該值的實際位數小於指定寬度,則位數將被預設以空格字元補充。
<對齊>
指引數在<寬度>內輸出時的對齊方式,分別使用<、>和^三個符號表示左對齊、右對齊和居中對齊。
<填充>
指<寬度>內除了引數外的字符采用什麼方式表示,預設採用空格,可以通過<填充>更換。
s = "PYTHON" a="{0:30}".format(s) print(a) b="{0:>30}".format(s) print(b) c="{0:*^30}".format(s) print(c) d="{0:-^30}".format(s) print(d) e="{0:3}".format(s) print(e) 輸出: PYTHON PYTHON ************PYTHON************ ------------PYTHON------------ PYTHON
逗號(,)
<格式控制標記>中逗號(,)用於顯示數字的千位分隔符,例如
f="{0:-^20,}".format(1234567890)
print(f)
輸出:
---1,234,567,890----
<.精度>
表示兩個含義,由小數點(.)開頭。對於浮點數,精度表示小數部分輸出的有效位數。對於字串,精度表示輸出的最大長度。
f="{0:-^20,}".format(1234567890)
print(f)
g="{0:.2f}".format(12345.67890)
print(g)
h="{0:H^20.3f}".format(12345.67890)
print(h)
i="{0:.4}".format("PYTHON")
print(i)
輸出:
---1,234,567,890----
12345.68
HHHHH12345.679HHHHHH
PYTH
<型別>
表示輸出整數和浮點數型別的格式規則。對於整數型別,輸出格式包括6 種:
- b: 輸出整數的二進位制方式;
- c: 輸出整數對應的 Unicode 字元;
- d: 輸出整數的十進位制方式;
- o: 輸出整數的八進位制方式;
- x: 輸出整數的小寫十六進位制方式;
- X: 輸出整數的大寫十六進位制方式;
-
對於浮點數型別,輸出格式包括4 種:
-
j="{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(425) print(j) 輸出: 110101001,Ʃ,425,651,1a9,1A9
- e: 輸出浮點數對應的小寫字母 e 的指數形式;
- E: 輸出浮點數對應的大寫字母 E 的指數形式;
- f: 輸出浮點數的標準浮點形式;
- %: 輸出浮點數的百分形式。
-
浮點數輸出時儘量使用<.精度>表示小數部分的寬度,有助於更好控制輸出格式。
k="{0:e},{0:E},{0:f},{0:%}".format(3.14)
print(k)
l="{0:.2e},{0:.2E},{0:.2f},{0:.2%}".format(3.14)
print(l)
輸出:
3.140000e+00,3.140000E+00,3.140000,314.000000%
3.14e+00,3.14E+00,3.14,314.00%
%字元:標記轉換說明符的開始。