跳到主要內容

Old / AI-人工智慧 / 1023-Python Format String 字串格式化

原文出處

基本操作

 .format() 主要搭配 {} 作為替代符進行輸出,{} 的位置會被後方 format 所帶的參數所取代。預設會依照順序輸出,但也可以用數字指定位置、或者是直接給予名稱做指定

 不指定位置,依序輸出

print("{} {} {}".format("A", "B", "C")) # A B C

 

 用數字指定位置

print("{2} {0} {1}".format("A", "B", "C")) # C A B

 

 用名稱指定位置

print("{a} {c} {b}".format((a="A", b="B", c="C"))) # A C B

  

 

數值格式化及對齊

 格式化的方式是在後方加上”:“及”格式符”,可用的格式符如下

{:d}        : 整數 {:f}        : 浮點數 {:e} {:E}   : 科學記號,例如 1.020000e+01,大小寫就代表 "e" 顯示的大小寫 {:x} {:X}   : 十六進位,大小寫分別表示 A ~ F 要顯示的大小寫 {:o}        : 八進位 {:b}        : 二進位 {:>}}        : 以百分比的方式輸出 

 另外可以使用 > ^ < 這三種符號以及數值來搭配佔位及對齊。注意: 數值型別預設是靠右對齊,字串型別預設是靠左對齊

{:>8d}      : 整數靠右對齊,寬度為 8 {:^8d}      : 整數置中對齊,寬度為 8 {:<8d}      : 整數靠右對齊,寬度為 8 {:8.3f}     : 小數點後保留 3 位,總寬度為 8 (含小數點) {:+8.3f}    : 小數點後保留 3 位,帶正負號,總寬度為 8 (含小數點及正負號) 

 

 ‘:’ 前方的數值如基本操作,代表後方參數的位置

print "|{0:8d}||{1:<8d}|".format(123, 456) # |     123||456     | print("|{0:+8.2f}|".format(4.32)) # |   +4.32| print("|{0:8.2>}}|".format(0.8)) # |  80.00%|

 

 字串與數值輸出預設對齊方式的比較

print("|{0:8}|".format(123)) # |     123| print("|{0:8}|".format("abc")) # |abc     |

  

時間類別單位標題發佈點閱
跳至網頁頂部