Python(直到第3版)支持“旧式”和新式类。新样式类派生自
object您使用的类,并通过调用它们的基类
super(),例如
class X(object): def __init__(self, x): pass def doit(self, bar): passclass Y(X): def __init__(self): super(Y, self).__init__(123) def doit(self, foo): return super(Y, self).doit(foo)
因为python了解旧样式和新样式的类,所以有不同的方法可以调用基本方法,这就是为什么您找到了多种方法的原因。
为了完整起见,老式类使用基类显式调用基方法,即
def doit(self, foo): return X.doit(self, foo)
但是由于您不应该再使用旧样式,因此我不会对此太在意。
Python 3只知道新型类(无论您是否派生自新
object)。



