之间有什么区别:
class Child(SomeBaseClass): def __init__(self): super(Child, self).__init__() 和: class Child(SomeBaseClass): def __init__(self): SomeBaseClass.__init__(self)
我看到super在只有单一继承的类中经常使用它。我知道为什么你会在多重继承中使用它,但是不清楚在这种情况下使用它的好处。
super()单继承的好处是微不足道的-大多数情况下,你不必将基类的名称硬编码到每个使用其父方法的方法中。
super()
但是,如果不使用,几乎不可能使用多重继承super()。这包括常见的惯用语,例如mixin,接口,抽象类等。这扩展到了以后扩展你的代码的代码。如果以后有人想编写一个扩展了的类Child和一个mixin,他们的代码将无法正常工作。
mixin
Child