如果我有:
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)