【发布时间】:2019-05-09 07:00:23
【问题描述】:
在 Python3.4 中你可以做以下事情:
class MyDict(dict):
def __missing__(self, key):
return "{%s}" % key
然后是这样的:
d = MyDict()
d['first_name'] = 'Richard'
print('I am {first_name} {last_name}'.format(**d))
按预期打印:
I am Richard {last_name}
但是这个 sn-p 在 Python3.6+ 中不起作用,在尝试从字典中获取 last_name 值时返回 KeyError,是否有任何解决方法可以使该字符串格式以相同的方式工作和 Python3.4 一样?
谢谢!
【问题讨论】:
标签: python string python-3.x dictionary string-formatting