Python之format詳解


1.通過位置

'a1 = {} a2= {}  a3= {}'.format('first','second','third')  #{}不帶參數
'a1 = first a2= second  a3= third'
'a1 = {1} a2= {0}  a3= {2}'.format('first','second','third') #{}帶位置參數的
'a1 = second a2= first  a3= third'
注意如果{}要帶參數,可以將format看成一個函數輸入的值是函數的參數,這些輸入的值可以看成一個元組,{0} == tuple[0] 同樣他們也不能越界

2.通過關鍵字參數

'your name is {name} , age is {age}'.format(name='jack',age=87)
'your name is jack , age is 87'
'your name is {name} , age is {age}'.format(age=87,name='jack') #同樣和位置無關
'your name is jack , age is 87'

3.通過對象屬性

class Person:
    def __init__(self,name,age):
        self.name = name
        self.age = age

p = Person('Tom',18)

'name = {p.name} age = {p.age}'.format(p=p)
'name = Tom age = 18'

4.通過下標

s1 = [1,'23','tom']
s2 = ['s2.1','s2.2','s2.3']
'{0[1]}  {0[2]} {1[2]} {1[0]}'.format(s1,s2)
'23  tom s2.3 s2.1'

5.格式化輸出(重點)

 格式限定符
 語法是{}中帶:號)
 {:對齊方式  填充}
 填充與對齊
 填充常跟對齊一起使用
 ^、<、>分別是居中、左對齊、右對齊,后面帶寬度
 :號后面帶填充的字符,只能是一個字符,不指定的話默認是用空格填充

5.1對齊與填充

'輸出左對齊定長為10位  [{:<10}]'.format('12') #默認填充空格的
'輸出左對齊定長為10位  [12        ]'
'輸出右對齊定長為10位  [{:>10}]'.format('12') #默認填充空格的
'輸出右對齊定長為10位  [        12]'
'輸出右對齊定長為10位  [{:0>10}]'.format('12') #修改填充,填充只能是一個ASCII字符
'輸出右對齊定長為10位  [0000000012]'
'輸出居中對齊定長為10位,填充x  [{:x^10}]'.format('12') #修改填充,填充只能是一個ASCII字符
'輸出居中對齊定長為10位,填充x  [xxxx12xxxx]'

5.2浮點小數輸出

'{:.2f}'.format(1233442.23453) #通常都是配合 f 使用,其中.2表示長度為2的精度,f表示float類型
'1233442.23'
'{:,}'.format(9987733498273.0432) #使用逗號金額分割符
'9,987,733,498,273.043'

5.3進制及其他顯示

b : 二進制
d :十進制
o :八進制
x :十六進制
!s :將對象格式化轉換成字符串
!a :將對象格式化轉換成ASCII
!r :將對象格式化轉換成repr
'10 二進制 :{:b}'.format(10)
'10 二進制 :1010'
'10 十進制 :{:d}'.format(10)
'10 十進制 :10'
'10 八進制 :{:o}'.format(10)
'10 八進制 :12'
'10 十六進制 :{:x}'.format(10)
'10 十六進制 :a'
'{!s}'.format(10) #格式化轉換
'10'
'{!a}'.format('1000') #格式化轉換
"'1000'"
'{!r}'.format('1000') #格式化轉換
"'1000'"


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM