“ 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