如何混合命名和未命名的字符串格式

Raz*_*zer 1 python string formatting python-3.x

如何混合命名和未命名的字符串格式?请考虑以下未运行的示例:

s = "{:s}_{later}_{:s}".format("foo", "bar")
s1 = s.format(later="later")
Run Code Online (Sandbox Code Playgroud)

我想首先格式化一些东西,包括一个namedpostioner,以便以后格式化.如何实现某些目标python

Ble*_*der 5

您必须转义命名格式部分:

>>> "{:s}_{{later}}_{:s}".format("foo", "bar")
'foo_{later}_bar'
>>> _.format(later="later")
'foo_later_bar'
Run Code Online (Sandbox Code Playgroud)

或者反过来说:

>>> "{{:s}}_{later}_{{:s}}".format(later="later")
'{:s}_later_{:s}'
>>> _.format("foo", "bar")
'foo_later_bar'
Run Code Online (Sandbox Code Playgroud)