嵌套格式

某些格式可以采用其他参数,例如格式化字符串的宽度或对齐方式:

>>> '{:.>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