Python字符串格式化--formate()的應用


1.簡單運用
字符串類型格式化采用format()方法,基本使用格式是:轉自

<模板字符串>.format(<逗號分隔的參數>)

調用format()方法后會返回一個新的字符串,參數從0 開始編號。

"{}:計算機{}的CPU 占用率為{}%。".format("2016-12-31","PYTHON",10)

Out[10]: '2016-12-31:計算機PYTHON的CPU 占用率為10%。'
format()方法可以非常方便地連接不同類型的變量或內容,如果需要輸出大括號,采用{{表示{,}}表示},例如:

"{}{}{}".format("圓周率是",3.1415926,"...")

Out[11]: '圓周率是3.1415926...'


"圓周率{{{1}{2}}}是{0}".format("無理數",3.1415926,"...")

Out[12]: '圓周率{3.1415926...}是無理數'


s="圓周率{{{1}{2}}}是{0}" #大括號本身是字符串的一部分


s

Out[14]: '圓周率{{{1}{2}}}是{0}'


s.format("無理數",3.1415926,"...") #當調用format()時解析大括號

Out[15]: '圓周率{3.1415926...}是無理數'
2. 格式控制信息
format()方法中<模板字符串>的槽除了包括參數序號,還可以包括格式控制信息。此時,槽的內部樣式如下:

{<參數序號>: <格式控制標記>}

其中,<格式控制標記>用來控制參數顯示時的格式,包括:<填充><對齊><寬度>,<.精度><類型>6 個字段,這些字段都是可選的,可以組合使用,逐一介紹如下。

 

 

<寬度>
指當前槽的設定輸出字符寬度,如果該槽對應的format()參數長度比<寬度>設定值大,則使用參數實際長度。如果該值的實際位數小於指定寬度,則位數將被默認以空格字符補充。

<對齊>
指參數在<寬度>內輸出時的對齊方式,分別使用<、>和^三個符號表示左對齊、右對齊和居中對齊。

<填充>
指<寬度>內除了參數外的字符采用什么方式表示,默認采用空格,可以通過<填充>更換。​​​​​​​

s = "PYTHON"


"{0:30}".format(s)

Out[17]: 'PYTHON '


"{0:>30}".format(s)

Out[18]: ' PYTHON'


"{0:*^30}".format(s)

Out[19]: '************PYTHON************'


"{0:-^30}".format(s)

Out[20]: '------------PYTHON------------'


"{0:3}".format(s)

Out[21]: 'PYTHON'

逗號(,)
<格式控制標記>中逗號(,)用於顯示數字的千位分隔符,例如:

"{0:-^20,}".format(1234567890)

Out[24]: '---1,234,567,890----'


"{0:-^20}".format(1234567890) #對比輸出

Out[25]: '-----1234567890-----'


"{0:-^20,}".format(12345.67890)

Out[26]: '----12,345.6789-----'
<.精度>
表示兩個含義,由小數點(.)開頭。對於浮點數,精度表示小數部分輸出的有效位數。對於字符串,精度表示輸出的最大長度。​​​​​​​

"{0:.2f}".format(12345.67890)

Out[29]: '12345.68'


"{0:H^20.3f}".format(12345.67890)

Out[30]: 'HHHHH12345.679HHHHHH'


"{0:.4}".format("PYTHON")

Out[31]: 'PYTH'
<類型>
表示輸出整數和浮點數類型的格式規則。對於整數類型,輸出格式包括6 種:

b: 輸出整數的二進制方式;
c: 輸出整數對應的 Unicode 字符;
d: 輸出整數的十進制方式;
o: 輸出整數的八進制方式;
x: 輸出整數的小寫十六進制方式;
X: 輸出整數的大寫十六進制方式;
"{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(425)

Out[32]: '110101001,Ʃ,425,651,1a9,1A9'
對於浮點數類型,輸出格式包括4 種:

e: 輸出浮點數對應的小寫字母 e 的指數形式;
E: 輸出浮點數對應的大寫字母 E 的指數形式;
f: 輸出浮點數的標准浮點形式;
%: 輸出浮點數的百分形式。
浮點數輸出時盡量使用<.精度>表示小數部分的寬度,有助於更好控制輸出格式。

"{0:e},{0:E},{0:f},{0:%}".format(3.14)

Out[33]: '3.140000e+00,3.140000E+00,3.140000,314.000000%'


"{0:.2e},{0:.2E},{0:.2f},{0:.2%}".format(3.14)

Out[34]: '3.14e+00,3.14E+00,3.14,314.00%'


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM