Python格式化字符串的方法

Python字符串格式化的兩種方式

一、使用%

複製代碼
%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'
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章