试图覆盖一个方法,然后调用一个单独的超级方法,该方法又调用原始的超级未覆盖方法。然而,这最终会调用创建递归循环的子级重写方法。
MWE:
class A:
def over(self, stuff):
print('A has been called {}'.format(stuff))
def something_else(self, stuff):
print("Something else happens here")
self.over(stuff)
class B(A):
def over(self,stuff):
print('B has been called {}'.format(stuff))
super().something_else(stuff)
b = B()
b.over('tests')
重复输出直到堆栈溢出:
B has been called tests
Something else happens here
不确定我是否在这里使用错误,任何帮助将不胜感激