我有以下简短示例,其中我从A
继承了一个类Base
并覆盖了__init__
。在__init__
中调用Base.__init__
。
class A(Base):
def __init__(self):
super(A, self).__init__()
... my initialisation ...
是否有规则首先调用Base的__init__
(在需要时),然后初始化其余部分或是否应该反过来?
有时候我需要打电话给__init__
,然后做其余的事情,有时我需要反过来。在某些情况下,我必须编写一些初始化,然后调用基类的__init__
,然后进行最后的初始化。
也许给自己一个答案:阅读基类的文档,或者如果不可用,请研究代码。
它应该是一种方式,或者您如何记录它?
答案 0 :(得分:4)
不,没有关于在哪里调用它,或者根本不调用它的规则。如果符合您的具体情况,请将其称为。
换句话说,super(A, self).__init__()
只是另一个方法调用,尽管它专门使用从基类查找的方法。像对待任何其他方法调用一样对待它,所以在需要时将其命名为。