python图属性属于子类

时间:2016-10-11 23:22:40

标签: python class python-3.x

我有一个python类层次结构如下:

class A:
    def __init__(self):
        self.a = 1
        self.b = 2

class B(A):
    def __init__(self):
        super(B, self).__init__()
        self.c = 3

现在当我做类似的事情时:

obj = B()
obj.__dict__

我明白了:

{'a': 1, 'b': 2, 'c': 3}

是否可以识别哪些属性属于父类,或者哪些属性仅属于子类?

1 个答案:

答案 0 :(得分:2)

对于您的简单示例,您可以获得dict项目的区别:

print(obj.__dict__.items() - A().__dict__.items())

我想我们至少应该知道父类的名称:

 print(obj.__dict__.items() - obj.__class__.__bases__[0]().__dict__.items())