天天看點

python格式化字元串_python之字元串類型的格式化

python之字元串類型的格式化

要點:python字元串通過format()方法進行格式化處理。(Python語言同時支援兩種字元串格式化方法,一種類似C語言中printf()函數的格式化方法,支援該方法主要考慮與大批C語言程式員程式設計習慣相一緻;另一種采用專門的str.format()格式化方法。由于Python中更為接近自然語言的複雜資料類型(如清單和字典等)無法通過類C的格式化方法很好表達,Python 已經不在後續版本中改進C風格格式化方法。是以,Python 語言将主要采用format()方法進行字元串格式化。)

字元串format()方法的基礎使用格式是:

<模闆字元串>. format (<逗号分隔的參數>) 示例如下:

python格式化字元串_python之字元串類型的格式化
python格式化字元串_python之字元串類型的格式化

在這裡我們可以看出,如果大括号中指定了使用參數的序号,按照序号對應參數也替換 *參數從0開始編号

另外,大括号{}本身也是字元串的一部分,如果需要輸出{}則需要注意

python格式化字元串_python之字元串類型的格式化

通俗點講,由上示例可以看出{1}輸出:1 {{{1}}}輸出:{1}

format()方法中模闆字元串的槽除了包括參數序号,還可以包括格式控制資訊。此時,槽的内部樣式如下:

{<參數序号>: <格 式控制标記>}

<,内容左對齊

>,内容右對齊(預設)

=,内容右對齊,将符号放置在填充字元的左側,且隻對數字類型有效。 即使:符号+填充物+數字

^,内容居中對齊

python格式化字元串_python之字元串類型的格式化

(1)num = "{0:.2f}".format(123456.789132)

print(num)

# 123456.79

(2)num = "{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(42500) # {0:b}二進制格式,{0:c}Unicode編碼形式,{0:d}十進制表示形式,{0:o}八進制,{0:x}十六進制, {0:X}大寫的十六進制

print(num)

# 1010011000000100,ꘄ,42500,123004,a604,A604

(3)num = "{0:e},{0:E},{0:F},{0:%}".format(45.6) # {0:e}科學計數法e表示,{0:E}科學計數法E表示,{0:F}通常非科學計數法

print(num)

# 4.560000e+02,4.560000E+02,456.000000,45600.000000%