巢狀格式
某些格式可以採用其他引數,例如格式化字串的寬度或對齊方式:
>>> '{:.>10}'.format('foo')
'.......foo'
通過在 {}
中嵌入更多 {}
,也可以將它們作為引數提供給 format
:
>>> '{:.>{}}'.format('foo', 10)
'.......foo'
'{:{}{}{}}'.format('foo', '*', '^', 15)
'******foo******'
在後一個例子中,格式字串'{:{}{}{}}'
被修改為'{:*^15}'
(即“中心和填充*,總長度為 15”),然後將其應用於實際字串'foo'
,以便以這種方式格式化。
這在事先不知道引數的情況下非常有用,例如在對齊表格資料時:
>>> data = ["a", "bbbbbbb", "ccc"]
>>> m = max(map(len, data))
>>> for d in data:
... print('{:>{}}'.format(d, m))
a
bbbbbbb
ccc