关于python:如何调用父类的__repr__?

How to invoke __repr__ of parent class?

所以我想解决的情况很简单。假设我有一个子类C,它扩展了父母BA。父母BA各自有自己的__repr__方法。当我打印C时,总是调用父A__repr__方法,但我想调用父B的方法。

我该怎么做?


假设A的定义如下:

1
2
3
class A():
    def __repr__(self):
        return"This is A"

B的定义类似:

1
2
3
class B():
    def __repr__(self):
        return"This is B"

虽然C的定义如下:

1
2
3
class C(A, B):
    def __init__(self):
        pass

或者类似的东西。print A()产生This is AB产生This is B。如你所描述的,print C()会给This is A的。但是,如果你改变了C继承的顺序:

1
2
3
class C(B, A): # change order of A and B
    def __init__(self):
        pass

那么,print C()会给你This is B。就这么简单。