所以我要解决的情况很简单。假设我有一个扩展父类 B
和 A
的子类 C
。父级 B
和 A
每个都有自己的 __repr__
方法。当我打印 C
时,总是调用父 A
的 __repr__
方法,但我想调用父 B
的。
我该怎么做?
最佳答案
假设 A
定义如下:
class A():
def __repr__(self):
return "This is A"
和B
的定义类似:
class B():
def __repr__(self):
return "This is B"
虽然 C
是这样定义的:
class C(A, B):
def __init__(self):
pass
或类似的东西。 print(A())
将输出 This is A
,而 B()
将输出 This is B
。如您所述,print(C())
将给出 This is A
。但是,如果您只是更改 C
的继承顺序:
class C(B, A): # change order of A and B
def __init__(self):
pass
然后 print(C())
会给你 This is B
。就这么简单。
关于python - 如何调用父类的__repr__?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24978530/