Python 字符串格式化解決的問題:
字符串格式化是為了實現字符串和變量同時輸出時按一定的格式顯示。
例如:" 一年有{}天,一天有{}小時 。".format(365,24) ==> " 一年有365天,一天有24小時。"
format()方法的基本使用:
<模板字符串>.format(<逗號分隔的參數>)
模板字符串由一系列占位槽組成(用{}表示),參數會按{}中的序號替換到模板字符串的槽中,如果{}沒有序號,就按出現順序替換。
參數從0開始編號,調用format()方法會返回一個新的字符串。
1 >>> " {}: {}考試,時間{}到{} ".format("2018-10-31", "Python", "10:00", "11:40") # {}的默認順序為 0, 1, 2,參數的順序固定為0, 1, 2。 2 '2018-10-31: Python考試,時間10:00到11:40'
format()方法可以方便的連接不同類型的變量或內容,如果需要輸出大括號,可使用 {{{ 表示 , {{表示 { ,例如:
1 >>> " {}{}{} ".format("圓周率是", 3.1415926, "...") 2 ' 圓周率是3.1415926... '
3 >>>" 圓周率{{{1}{2}}}是{0} ".format("無理數", 3.1415926, "...") 4 ' 圓周率{3,1415926...}是無理數 '
5 >>> s = " 圓周率{{{1}{2}}}是{0} " # 大括號本身是字符串的一部分
6 >>> s 7 ' 圓周率{{{1}{2}}}是{0} '
8 >>> s.format("無理數", 3.1415926, "...") # 調用format()時解析大括號
9 ' 圓周率3.1415926...是無理數 '
format方法的格式控制:
format()方法中的槽除了可以包含參數序號外,還可以包含格式控制信息。
槽的樣式:
{<參數序號>:<格式控制標記>}
格式控制標記用來控制參數顯示時的格式。
| : | <填充> | <對齊> | <寬度> | <,> | <.精度> | <類型> |
| 引導符號 | 用於填充的單個字符 | <左對齊 >右對齊 ^居中對齊 |
槽的輸出寬度 |
當槽的寬度小於參數的長度時,會完整顯示參數,當槽的寬度大於參數的長度時,默認用用空格填充多余部分且參數左對齊。

添加使用填充字符和對齊方式(寬度為30+居中對齊+' * '填充):

(寬度30+居中對齊+' - '填充):

逗號(,): 用於顯示數字類型的千分位分隔符

<.精度> : 由小數點(.)開頭,對於浮點數,精度表示小數部分輸出的有效位數,對於字符串,精度表示輸出的最大長度

<類型>: 輸出整數和浮點數的格式。
整數類型:
(1)b: 輸出整數的二進制方式。
(2)c: 輸出整數對應的Unicode字符。
(3)d: 輸出整數的十進制方式。
(4)o: 輸出整數的八進制方式。
(5)x: 輸出整數的小寫十六進制方式。
(6)X: 輸出整數的大寫十六進制方式。

浮點類型:
(1)e: 輸出小寫字母e的指數形式。
(2)E: 輸出大寫字母E的指數形式。
(3)f: 輸出標准浮點形式。
(4)%: 輸出%形式。

浮點數輸出時為了方便控制格式,應盡量采用<.精度>的方式指定小數的寬度。
