我必须将父类中存在的所有变量添加到子类的一个列表中。但是,父类中的所有变量都不是必需的。
有什么方法可以弄清楚父类中是否存在变量?
答案 0 :(得分:1)
>>> class A(object):
... pass
...
>>> class B(A):
... pass
...
>>> B.__bases__
(<class '__main__.A'>,)
>>> getattr(B.__bases__[0],'x',False)
False
或者更多的理解:
class A(object):
x = 5
class B(A):
y = 6
x = 7
print(getattr(B.__bases__[0],'y',False))
print(getattr(B.__bases__[0],'x',False))
输出
False
5
>>>
因此,只需检查是否返回False
,如果是,则可以断定父类中不存在该属性。
答案 1 :(得分:0)
如果您知道要查找的属性,可以将它们与dir(parent class)