我想做类似以下的事情,我不知道是否可能:
d={
'error': ' Please insert a valid (%s) name'
'required': ' Please insert your (%s) name'
}
d1 = d % 'first'
d2 = d % 'last'
所以基本上我想要类似字典模板的东西。是否可以实现这一目标?这样做会更优雅,并且尊重DRY原则。
预期结果:
d1 == {'required': ' Please insert your (first) name',
'error': ' Please insert a valid (first) name'}
d2 == {'required': ' Please insert your (last) name',
'error': ' Please insert a valid (last) name'}
答案 0 :(得分:2)
如何定义生成字典的函数?
>>> def make_msg_dict(part):
... return {
... 'error': ' Please insert a valid (%s) name' % part,
... 'required': ' Please insert your (%s) name' % part,
... }
...
>>> d1 = make_msg_dict('first')
>>> d2 = make_msg_dict('last')
>>> d1
{'required': ' Please insert your (first) name',
'error': ' Please insert a valid (first) name'}
>>> d2
{'required': ' Please insert your (last) name',
'error': ' Please insert a valid (last) name'}