在类方法中引用类的“父”类的__dict__

时间:2019-07-05 18:16:05

标签: python python-3.x

我正在尝试访问班级(即下面的a_dict)的“父级”(mro中的第一个)的 dict

class A():
    a = 1

class B(A):
    b = 2

    @classmethod
    def print_dict(cls):
        b_dict = cls.__dict__.items()
        print(b_dict)

        # The following line generates this error:
        # AttributeError: 'getset_descriptor' object has no attribute 'items'
        a_dict = super(cls, cls).__dict__.items()
        print(a_dict)

foo = B()
foo.print_dict()

b_dict已打印。 a_dict失败。从我读过的书中,super代表了方法,但是在这种情况下,它不是方法,而是属性。我可以将其硬编码为:

a_dict = A.__dict__.items()

但是这违背了目的。一个人如何指代父类的 dict

0 个答案:

没有答案