Python 深入學習str.format(...)
阿新 • • 發佈:2019-01-26
str.format(...)是個很好用的字串格式化函式,用於print輸出很方便
1. str沒被賦值
>>> print(str.format("保留兩位小數:{0:3.2f}", 91.35465)) 保留兩位小數:91.35 >>> print(str.format("保留兩位小數:{0:4.2f}", 91.35465)) 保留兩位小數:91.35 >>> print(str.format("保留兩位小數:{0:6.2f}", 91.35465)) 保留兩位小數: 91.35 >>> print(str.format("保留兩位小數:{0:<3.2f}", 91.35465)) 保留兩位小數:91.35 >>> print(str.format("保留兩位小數:{0:<6.2f}", 91.35465)) 保留兩位小數:91.35 >>> print(str.format("保留兩位小數:{0:>3.2f}", 91.35465)) 保留兩位小數:91.35 >>> print(str.format("保留兩位小數:{0:>6.2f}", 91.35465)) 保留兩位小數: 91.35
str.format("xxx:"{a:b.c}", xxxx))
"""
a表示第幾個引數(從0開始),
b表示輸出的引數佔幾位,多的左邊補空格(小於正常位數的以正常位數為準)
c表示保留的小數位數,浮點後面還需新增f
'<'小於號如({0:<6.2f}) 如果夠長(c > 引數長度),右側填補空格(空格數為c-引數長度)
‘>'大於號表示如果夠長左側填補空格 [ 和小於號可以根據開口方向記憶】
"""
2. str被賦值了
>>> print("{0}.....{1}".format("hello","world")) hello.....world >>> print("{0:6}.....{1}".format("hello","world")) hello .....world >>> print("{0:6}.....{1:8}".format("hello","world")) hello .....world >>> print("{0:6}.....{1:>8}".format("hello","world")) hello ..... world >>> print("{0:<6}.....{1:>8}".format("hello","world")) hello ..... world >>> print("{0:>6}.....{1:>8}".format("hello","world")) hello..... world
格式化部分從剛剛的 str.forma(格式部分,引數),跑到了str上,format只需要管理引數。
和上面一樣, ’<'向右邊補空格, ‘>'向左邊不空格。
總結:如果瞭解輸出結果,儘量指明 ’>‘, ’<‘, 預設輸出不空格不易確定。