Usage:
自 python2.6 開始,新增了一種格式化字符串的方法,增強了格式化字符串的功能。
基本用法是以 {} 和 : 代替以前的 %
可以接收不限個數(shù)的參數(shù),位置可以不按順序。
>>> s = '{1} {2} {0} {1}'.format('a', 'b', 'c')
>>> s
'b c a b'
>>> '{} {}'.format('hello', 'world')
'hello world'
# 也可設(shè)置參數(shù)
>>> '{name} {url}'.format(name='simon', url='simonjoe246.github.io')
'simon simonjoe246.github.io'
# 也可通過字典設(shè)置參數(shù)
>>> s = dict(name='simon', url='simonjoe246.github.io')
>>> '{name} {url}'.format(**s)
'simon simonjoe246.github.io'
# 通過列表索引設(shè)置參數(shù)
>>> l = ['simon', 'simonjoe246.github.io']
>>> '名字{0[0]} 網(wǎng)址{0[1]}'.format(l)
'名字simon 網(wǎng)址simonjoe246.github.io'
# 當(dāng)然也可向format傳入類對象,前面調(diào)用對象屬性。
格式化數(shù)字
[圖片上傳失敗...(image-1d549a-1544191403090)]
>>> '{:.2f}'.format(3.1415926)
'3.14'
>>> '{:4.2f}'.format(3.1415926)
'3.14'
>>> '{:5.2f}'.format(3.1415926)
' 3.14'
冒號后面大概可以分為四部分內(nèi)容:
一、
:后緊接要填充的字符,
二、
對齊標(biāo)識符(align sign),一般后接數(shù)字表示字符串寬度(放在第三部分講),如果不接數(shù)字無意義,默認(rèn)為右對齊。
^:居中
<:左對齊
>:右對齊
三、
帶符號,字符串寬度,保留幾位小數(shù)
+:表示正數(shù)前加+號,負(fù)數(shù)前加-號
5: 數(shù)字表示字符串總寬度,與對齊標(biāo)識符聯(lián)用,一般可以省略d
.2f表示保留幾位小數(shù)(如上所示,小數(shù)點也占一位寬度)
四、
進制轉(zhuǎn)換,若 format 內(nèi)容為整數(shù),可以使用 b、d、o、x、X 分別表示二進制、十進制、八進制、小寫十六進制、大寫十六進制
實例:
>>> '{:2^16}'.format(4)
'2222222422222222'
>>> '{:x^+16.2f}'.format(-4.2545845)
'xxxxx-4.25xxxxxx'
>>> '{:x^+16x}'.format(-456)
'xxxxxx-1c8xxxxxx'