擅长:python、mysql、java
<p>Python3.2+有<code>format_map</code>,它允许您这样做</p>
<pre><code>>>> class D(dict):
... def __missing__(self, k):return '{'+k+'}'
...
>>> my_string = 'Hello {name}, my name is {my_name}!'
>>> my_string.format_map(D(name='minerz029'))
'Hello minerz029, my name is {my_name}!'
>>> _.format_map(D(my_name='minerz029'))
'Hello minerz029, my name is minerz029!'
</code></pre>
<p>现在不需要添加额外的<code>{}</code>,只替换提供给<code>D</code>的密钥</p>
<p>正如@steveha指出的,如果你在一个旧Python上,你仍然可以使用</p>
^{pr2}$