如果我有:
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']
但我想检索varB和varA。知道怎么做这个吗?
我也尝试过:
vars(super(B, inst).__class__).keys()+vars(inst.__class__).keys()
但这并没有达到我的预期。
如果重要,我正在使用Python 2.6。
编辑:我实际上只是偶然发现了一个非常简单的方法:
dir(inst)