Python 检索对象上所有变量的键
如果我有:Python 检索对象上所有变量的键,python,class,multiple-inheritance,Python,Class,Multiple Inheritance,如果我有: class A(object): varA = 1 inst = A() 那么我如何检索inst上所有变量的键呢?我想要像[“varA”] 到目前为止,我已经了解到: vars(inst.__class__).keys() #returns ['__dict__', '__weakref__', '__module__', 'varA', '__doc__'] 我没问题,我只是忽略了双底内翻。我的问题是继承的多个层次,如: class A(object): va
class A(object):
varA = 1
inst = A()
那么我如何检索inst上所有变量的键呢?我想要像[“varA”]
到目前为止,我已经了解到:
vars(inst.__class__).keys() #returns ['__dict__', '__weakref__', '__module__', 'varA', '__doc__']
我没问题,我只是忽略了双底内翻。我的问题是继承的多个层次,如:
class A(object):
varA = 1
class B(A):
varB = 2
inst = B()
vars(inst.__class__).keys() #returns ['__module__', '__doc__', 'varB']
但我想找回瓦布和瓦拉。你知道我该怎么做吗
我还尝试:
vars(super(B, inst).__class__).keys()+vars(inst.__class__).keys()
但这并没有达到我的预期
如果重要的话,我使用的是Python 2.6
编辑:实际上我刚刚偶然发现了一种非常简单的方法:
dir(inst)
有一个python模块,名为inspect
,用于运行时内省。也许可以帮你…是的,这正是我想要的。我过去用过inspect,但我忘记了它的功能。我不知道。我将改变我的例子以符合标准。