【发布时间】:2010-02-19 23:45:31
【问题描述】:
如果我有:
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)
【问题讨论】:
-
我不知道。我将更改我的示例以符合标准。
标签: python class multiple-inheritance