python 的字串格式規劃大略有 2 種,期中 format 可分為字串型與函數型
(一) 使用 c 語言的 %
(二) 使用 "{ }".format
(三) 使用 format

使用 c 語言的 % 格式
  "%[+/-][總位數][.小數位數][資料型態]" % 資料
+/- 格式碼 說明 範例 結果
+ 右靠 (+/- 不寫,內定右靠),數值會留下+/- "%+5d" % 3    +3
- 左靠 "%-5d" % 3 3

[總位數][.小數位數]
浮點數 格式碼 說明 範例 結果
總位數 欄寬。(浮點數內定 6 位小數點) "%10f" % 3.985    3.985000
.小數位數 小數點位數 "%.2f" % 3.985 3.98

總位數.小數位數

欄寬與小數點位數 "%10.2f" % 3.985           3.98

[資料型態]
[資料型態] 格式碼 說明 範例 結果
%% 在字串中顯示% "%%%4d" % 23
"%  23"
%  23
%  23
%d 以10 進位整數方式輸出 "%d" % 0b1101 13
%f 將浮點 數以10進位方式輸出 "%% %7.3f" % 1.7835 %  1.784
%e, %E 將浮點 數以10進位方式輸出,並使用科學記號 "%e" % 178.35 1.783500+e02
%o 以8進 位整數方式輸出 "%o" % 17 21
%x, %X 將整 數以16進位方式輸出 "%X" % 17 11
%s 使用str()將字串輸出 "%s" % 23 23
%c 以字元方式輸出 "%c" % 97 a

範例:
程式碼 說明 結果
print("%d %c" % (0x12 , 65)) 0x12 是16 進制,以%d(整數)輸出。
65 以%c(字元)方式輸出。
18 A
print( "%10d" % 3.985 ) 以10 進位整數(無條件去小數)方式輸出。          3
print( "%10.3f") 格式字串後面沒有 % 連接資料,則視為一般字串。 %10.3f



  str.format
  { [參數編號] : [ [位置] 及寬度] [.精確度] [型態字元] }  

[參數編號] 說明 範例 結果
正整數 代換資料的編號  "{0} {1}{0}".format("ABC","123")
 "{1}--{2}--{3}".format("XY","A","BC","57")
ABC 123ABC
A--BC--57

[ [位置] 及寬度] 說明 範例 結果
< 左靠 (字串內定左靠)  "{:6}{:<}".format("A" , "BC")
 "{:6}{:<}".format(12 , 34)
A     BC
    1234
^ 置中    

>

右靠 (數值內定右靠)  "{:6}{:>6}".format("A" , "BC")
 "{:6}{:>6}".format(12 , 34)
A         BC
    12    34

[寬度] [.精確度][型態字元] 說明 範例 結果
8.3f 欄寬8,小數點至第3位  "{:8.1f}".format(42.139)     42.1
10d 欄寬 10 整數    

6s

欄寬 6 字串    
3c 欄寬 3 字元    
03d 欄寬 3 整數。(不足補 0)    

範例:
程式碼 說明 結果
print("{:4}/{:2}/{:02}".format(2019,10,3)) 利用前導 0 ,可使數字補零。 2019/10/03
x = "{}/{:4d}"
print(x.format("24","00"))
設定 x 為字串格式
利用 x 格式輸出資料。
         3
print( "%10.3f") 格式字串後面沒有 % 連接資料,則視為一般字串。 %10.3f
"{}{}".format("AB","12")
"{0}{1}".format("AB","12") #與上等效
{} 裡面不寫編號,默認由 0 自動編號。
{} {} 相當於 {0} {1}
"AB12"
"{1}{0}{1}".format("AB","12") {0} 對應到 "AB",{1} 對應到 "12" "12AB12"
"*{:8.2f}--{:10.4f}".format(12.3456,12.3456789) {:8.2f} 表示使用欄寬 8,小數點 2 位的浮點數。{:10.4f} 表示使用欄寬10,小數點 4 位的浮點數。
大括號 {} 外的字元會被輸出。
*   12.35--    12.3457




format(訊息,格式)
格式同上
指令 結果 說明
format(9.83521,">10.2f")             9.84 使用10格,右靠,取浮點數四捨五入至小數第 2 位
format("ABC","^6s")   使用 6 格,置中,取得字串 "ABC"