-1

__dict__在 python 中使用带有某个对象的函数时遇到了一些问题。我想做的是创建一个字典,显示原始对象中所有子对象的所有属性。但是当我调用该函数时,我会得到类似的东西,而不是自己拥有它:

<Attribute><models.Object instance at 0x0000000002EF4288></Attribute>

我是 python 新手,所以我不确定事情是如何工作的。我的目标也是以字典的形式返回 Object 实例的内容。提前谢谢你们。

是的,感谢 bren 指出错误,确切的输出是这样的:

{'Attribute': <models.Object instance at 0x0000000002EF4288>}

我做的手术只是wrapper.__dict__

类包装器是:

class wrapper:
    def wrapper(self, object):
        self.Attribute = object

whileobject还包含其他属性,我想将它们放在一个字典中。

4

1 回答 1

0

您可能正在寻找inspect.getmembers()

import inspect
from pprint import pprint
class Foo():
    def __init__(self):
        self.foo = 'bar'
    def foobar(self):
        pass

instance = Foo()

pprint(dict(inspect.getmembers(instance)))
>>> 
{'__doc__': None,
 '__init__': <bound method Foo.__init__ of <__main__.Foo instance at 0x7b07b0>>,
 '__module__': '__main__',
 'foo': 'bar',
 'foobar': <bound method Foo.foobar of <__main__.Foo instance at 0x7b07b0>>}
于 2013-05-27T05:15:25.660 回答