我在使用函数__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
虽然object
包含其他属性,但我想把它们放在一个字典中。
答案 0 :(得分: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>>}