Python不得不知的格式化輸出

Python格式化輸出

1. %格式化輸出

  • 輸出字符串
>>>print("my name is %s"%("Jack"))
my name is Jack

說明:%s表示在"my name is "中佔了個位置,具體的值是後面%括號內的信息,即“Jack”

  • 輸出整數
>>>print("I am %d years old"%(100))
I am 100 years old
  • 輸出浮點數
>>>print("I am %f years old"%(18.8))
I am 18.800000 years old

#指定小數點位數
>>>print("I am %.2f years old"%(18.8)
I am 18.80 years old

說明:%.2f表示只保留小數點後兩位

  • 輸出指定佔位符的寬度
>>>print("Name:%8s Age:%8d height:%8.2f m"%("Jack",15,18.3))
Name:    Jack Age:      15 height:   18.30 m

#左對齊
>>>print("Name:%-8s Age:%-8d height:%-8.2f m"%("Jack",15,18.3))
Name:Jack     Age:15       height:18.30    m

#指定佔位符(0或者空格)
>>>print("Name:%-8s Age:%08d height:%08.2f m"%("Jack",15,18.3))
Name:Jack     Age:00000015 height:00018.30 m

說明:

  • 當沒有指定佔位符(0或者空格)時
    %8的8代表佔8個字符的位置,當輸出的內容不足8位將默認補空格,再輸出值;當%後加個-,即%-8時,則是先輸出值,再補充多餘的部分。
  • 當指定佔位符(0)時,將在空白位置補充0

2.format格式化輸出

與%型格式化字符串相比,是用{}和.format()來代替%和%()

  • 位置索引
>>>print('{0},{1}'.format('My',1))
My,1

>>>print('{0},{1},{0}'.format('My',1))
My,1,My

#沒有索引值時,將按位置順序依次輸出
>>>print('{},{}'.format('My',1))
My,1

>>>p=['My',1]
>>>print('{0[0]},{0[1]},{0[0]}'.format(p))
My,1,My

  • 關鍵字參數
>>>print('{name},{number},{name}'.format(number=1,name='me'))
me,1,me

格式限定符
格式限定符有豐富的格式類型,語法爲{}中帶:號

  1. ^ ——居中,後面帶寬度
  2. < ——左對齊,後面帶寬度
  3. > ——右對齊,後面帶寬度
  4. :——後面帶填充的字符,只能是一個字符,不指定時,將默認空格填充
>>>'{:>8}'.format("123") #右對齊
'     123'

>>>'{:<8}'.format("123") #左對齊
'123     '

>>>'{:0>8}'.format("123") #右對齊並指定填充佔位符0
'00000123'

>>>'{:0^7}'.format("123") #居中並指定填充佔位符0
'0012300'
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章