親クラスに存在するすべての変数を子クラスの 1 つのリストに追加する必要があります。ただし、親クラスのすべての変数は必須ではありません。
変数が親クラスに存在するかどうかを知る方法はありますか??
親クラスに存在するすべての変数を子クラスの 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
で、返される場合は、属性が親クラスに存在しないと結論付けることができます。
探している属性がわかっている場合は、それらを照合できますdir(parent class)