定义要在python中动态创建的_repr__(self)

定义要在python中动态创建的_repr__(self),python,printing,instance-variables,Python,Printing,Instance Variables,我有一节课 class FooBar(object): def __repr__(self): pass 我想实现\uuu repr\uu功能。因为我使用FooBar作为一种方便的容器,并且动态添加了一些属性,所以我也想到了动态生成\uuuurepr\uuuuu。(如果这是不好的做法,请解释并启发我:-) 我想到了这样的事情: def __repr__(self): return '<FooBar({WHAT IS ELEGANT AND GOES HER

我有一节课

class FooBar(object):
    def __repr__(self):
        pass
我想实现
\uuu repr\uu
功能。因为我使用FooBar作为一种方便的容器,并且动态添加了一些属性,所以我也想到了动态生成
\uuuurepr\uuuuu
。(如果这是不好的做法,请解释并启发我:-)

我想到了这样的事情:

def __repr__(self):
    return '<FooBar({WHAT IS ELEGANT AND GOES HERE?})>'.format(**self.__dict__)
def\uuu repr\uu(自):
返回“”。格式(**self.\uuu dict\uuu)
有什么建议吗?谢谢

>>> '<FooBar({!r})>'.format({'a':1, 'b':2})
"<FooBar({'a': 1, 'b': 2})>"

比引用
。\uuuu dict\uuuu

信息不够具体要好。主观的你的选择。它将包含什么类型的内容?问题是:为什么要使用动态属性?例如,你不能使用字典?在您的示例中,您可以使用一个属性来存储字符串
'
,并在repr中执行
self.yourstring.format
,但是,我认为最好使用其他选项。
'<FooBar({!r})>'.format(vars(self))