super()
函数的一种常见用途就是继承父类时,调用父类方法,能确保父类被正常初始化。
通常在继承类中我们可以看到直接调用父类中的方法,就像下面这样:
class Base:
def __init__(self):
print("Base = __init__")
class A(Base):
def __init__(self):
Base.__init__(self)
print("A = __init__")
尽管在继承类中可以这样直接调用父类使用,但是在多继承中就会出现多次调用的情况。比如下面这个例子:
class Base:
def __init__(self):
print("Base = __init__")
class A(Base):
def __init__(self):
Base.__init__(self)
print("A = __init__")
class B(Base):
def __init__(self):
Base.__init__(self)
print("B = __init__")
class C(A, B):
def __init__(self):
A.__init__(self)
B.__init__(self)
print("C = __init__")
if __name__ == '__main__':
c = C()
print(c)
上面的代码运行后,会发现 “ Ba
文章评论