1. 程式人生 > >Python 深入學習str.format(...)

Python 深入學習str.format(...)

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只需要管理引數。

和上面一樣, ’<'向右邊補空格, ‘>'向左邊不空格。

總結:如果瞭解輸出結果,儘量指明 ’>‘, ’<‘, 預設輸出不空格不易確定。