我有一个班级
class FooBar(object):
def __repr__(self):
pass
我希望实现__repr__
功能。由于我使用FooBar作为一个方便的容器,我动态添加了一些属性,我也考虑动态生成__repr__
。 (如果这是不好的实践,请解释并启发我: - ))
我想到了类似的东西:
def __repr__(self):
return '<FooBar({WHAT IS ELEGANT AND GOES HERE?})>'.format(**self.__dict__)
有什么建议吗?谢谢!
答案 0 :(得分:1)
>>> '<FooBar({!r})>'.format({'a':1, 'b':2})
"<FooBar({'a': 1, 'b': 2})>"
在Python2.6上你必须使用{0!r}
我认为
'<FooBar({!r})>'.format(vars(self))
比引用.__dict__