How to avoid infinite recursion with super()?
我有这样的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 | class A(object): def __init__(self): self.a = 1 class B(A): def __init__(self): self.b = 2 super(self.__class__, self).__init__() class C(B): def __init__(self): self.c = 3 super(self.__class__, self).__init__() |
实例化B按预期工作,但实例化C无限循环并导致堆栈溢出。我怎么解决这个问题?
当实例化c调用
调用super()时,直接使用类名。因此,在b中,称为