本文總結(jié)一下python格式化文本的方法,需要的小伙伴可以參考。
1、首先看使用%格式化文本
常見的占位符:
常見的占位符有:
%d整數(shù)
%f浮點(diǎn)數(shù)
%s字符串
%x十六進(jìn)制整數(shù)
使用方法
>>>'Hello,%s'%'world'
'Hello,world'
>>>'Hi,%s,youhave$%d.'%('Michael',1000000)
'Hi,Michael,youhave$1000000.'
使用的時(shí)候不知道寫什么的地方直接使用%s進(jìn)行代替,語句的末尾加上%()括號(hào)里面直接填寫內(nèi)容即可(字符串加上引號(hào),中間用“,”分割),如果只有一個(gè)%?,括號(hào)可以省略。
高級(jí)一點(diǎn)的用法:
格式化整數(shù)指定是否補(bǔ)零:
首先看代碼:
>>>'%d-%d'%(3,23)
'3-23'
>>>'%2d-%2d'%(3,23)
'3-23'
>>>'%3d-%3d'%(3,23)
'3-23'
>>>'%4d-%4d'%(3,23)
'3-23'
>>>'%01d-%01d'%(3,23)
'3-23'
>>>'%02d-%02d'%(3,23)
'03-23'
>>>'%03d-%03d'%(3,23)
'003-023'
>>>'%04d-%04d'%(3,23)
'0003-0023'
>>>
可以看得出來,d前面的數(shù)字用來指定占位符,表示被格式化的數(shù)值占用的位置數(shù)量(字節(jié)還是什么不知道這樣的表述是否正確),指定之后比如%3d,代表這個(gè)整數(shù)要占用3個(gè)位置,前面如果有0代表占用的地方使用0補(bǔ)齊,沒有就使用空格補(bǔ)齊。指定的空間位置小于實(shí)際的數(shù)字大小,以實(shí)際占用的位置大小為準(zhǔn)。
指定小數(shù)的位數(shù):
>>>'%.f'%3.1415926
'3'
>>>'%.1f'%3.1415926
'3.1'
>>>'%.2f'%3.1415926
'3.14'
>>>'%.3f'%3.1415926
'3.142'
>>>
可以看出.后面的數(shù)字用來表示保留的小數(shù)點(diǎn)的位數(shù),".1"代表保留小數(shù)點(diǎn)后面一位小數(shù)。
如果不確定應(yīng)該用什么,%s永遠(yuǎn)起作用,它會(huì)把任何數(shù)據(jù)類型轉(zhuǎn)換為字符串:
>>>'Age:%s.Gender:%s'%(25,True)
'Age:25.Gender:True'
有些時(shí)候,字符串里面的%是一個(gè)普通字符怎么辦?這個(gè)時(shí)候就需要轉(zhuǎn)義,用%%來表示一個(gè)%:
>>>'growthrate:%d%%'%7
'growthrate:7%'
嘗試使用其他方法對(duì)%進(jìn)行轉(zhuǎn)義,但是好像沒有用,有什么其他方法歡迎評(píng)論。
2、使用format方法進(jìn)行格式化
代碼演示:
age=25
name='Swaroop'
print('{0}is{1}yearsold'.format(name,age))
print('Whyis{0}playingwiththatpython?'.format(name))
位置使用{1}按照使用的順序?qū)懞?,后面格式使?format()寫好對(duì)應(yīng)的參數(shù)即可。
輸出結(jié)果:
Swaroopis25yearsold
WhyisSwaroopplayingwiththatpython?
其實(shí)也可以使用第一種方法實(shí)現(xiàn):
age=25
name='Swaroop'
print('%sis%syearsold'%(name,age))
print('Whyis%splayingwiththatpython?'%(name))
輸出
Swaroopis25yearsold
WhyisSwaroopplayingwiththatpython?
實(shí)現(xiàn)的結(jié)果都是一樣的。
以上內(nèi)容為大家介紹了python培訓(xùn)之什么是格式化,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。