“ super”在Python中做什么?

之间有什么区别:

class Child(SomeBaseClass):

def __init__(self):

super(Child, self).__init__()

和:

class Child(SomeBaseClass):

def __init__(self):

SomeBaseClass.__init__(self)

我看到super在只有单一继承的类中经常使用它。我知道为什么你会在多重继承中使用它,但是不清楚在这种情况下使用它的好处。

回答:

super()单继承的好处是微不足道的-大多数情况下,你不必将基类的名称硬编码到每个使用其父方法的方法中。

但是,如果不使用,几乎不可能使用多重继承super()。这包括常见的惯用语,例如mixin,接口,抽象类等。这扩展到了以后扩展你的代码的代码。如果以后有人想编写一个扩展了的类Child和一个mixin,他们的代码将无法正常工作。

以上是 “ super”在Python中做什么? 的全部内容, 来源链接: utcz.com/qa/410009.html

回到顶部