一、使用%
%s 字符串 %c 字符 %d 十進制(整數) %i 整數 %u 無符號整數 %o 八進制整數 %x 十六進制整數 %X 十六進制整數大寫 %e 浮點數格式1 %E 浮點數格式2 %f 浮點數格式3 %g 浮點數格式4 %G 浮點數格式5 %% 文字%
>>> print("我叫%s,今年%d歲了" % ("小李", 20)) 我叫小李,今年20歲了
二、通過{}替代%
1、正常使用
>>> print("我叫{},今年{}歲了".format("小李", 20)) 我叫小李,今年20歲了
2、還可以通過在括號里填寫數字,修改格式化的順序
>>> print("我叫{1},今年{0}歲了".format("小李", 20)) 我叫20,今年小李歲了
3、通過key取變量
>>> print("我叫{name},今年{age}歲了".format(name="小李", age=20)) 我叫小李,今年20歲了
4、傳入對象
>>> class Person: ... def __init__(self,name,age): ... ... self.name,self.age = name,age ... def __str__(self): ... ... return '我叫{self.name}, 今年{self.age}歲了'.format(self=self) >>> str(Person('小李',20)) '我叫小李, 今年20歲了'
5、通過下標
>>> person=['小李',20] >>> '我叫{0[0]}, 今年{0[1]}歲了'.format(person) '我叫小李, 今年20歲了'
6、填充與對齊
格式限定符,語法是{}中帶:號
填充常跟對齊一起使用
^、<、>分別是居中、左對齊、右對齊,后面帶寬度
:號后面帶填充的字符,只能是一個字符,不指定的話默認是用空格填充
>>> '{:>8}'.format('189') ' 189' >>> '{:>8}'.format('189') ' 189' >>> '{:0>8}'.format('189') '00000189' >>> '{:a>8}'.format('189') 'aaaaa189'
7、精度與類型f
>>> '{:.2f}'.format(321.33345) '321.33'
其中.2表示長度為2的精度,f表示float類型
8、其他類型
主要就是進制了,b、d、o、x分別是二進制、十進制、八進制、十六進制。
>>> '{:b}'.format(17) '10001' >>> '{:d}'.format(17) '17' >>> '{:o}'.format(17) '21' >>> '{:x}'.format(17)
'11'
用,號還能用來做金額的千位分隔符。
>>> '{:,}'.format(1234567890) '1,234,567,890'