python里的super().init()有什么用?
对于python里的super().init()有什么作用,很多同学没有弄清楚。
简单的说super().init(),就是继承父类的init方法,同样可以使用super()去继承其他方法。
下面是三种不同的继承、调用,对比他们的区别,搞清楚super().init()的用途。
1、从实例中对比(python3)
1.1、实例
1.2、运行结果与对比
1.3、完整代码
2、关于继承顺序
最底层:先写一个父类A
class A:
def __init__(self):
print('A')
第二层:让 B、C、D 继承自A
class B(A):
def __init__(self):
print('B')
super().__init__()
class C(A):
def __init__(self):
print('C')
super().__init__()
class D(A):
def __init__(self):
print('D')
super().__init__()
第三层: E、F、G 继承
class E(B, C):
def __init__(self):
print('E')
super().__init__()
class F(C, D):
def __init__(self):
print('F')
super().__init__()
class G(E, F):
def __init__(self):
print('G')
super().__init__()
看看G的继承顺序
我们发现G继承自E, F是并列的,初始化的时候不会先把E初始化完毕才初始化F。