Python学习 - 之super函数

#super 真的是调用父类吗?
class A:
    def __init__(self):
        print("A")

class B(A):
    def __init__(self):
        super().__init__()
        print("B")

class C(A):
    def __init__(self):
        print("C")
        super().__init__()

class D(B,C):
    def __init__(self):
        print("D")
        super(D,self).__init__()
    '''
    这里既然我们重写B 的构造函数, 为什么还要去调用super
    super到底执行顺序是什么样的?
    super 调用的顺序是按照__mro__ 的顺序执行的

    '''

from threading import Thread
class mythread(Thread):
    def __init__(self,name , user):
        self.user = user
        super().__init__(name= name)

if __name__ == "__main__":
    print(D.__mro__)
    b= D()

 

posted on 2019-01-15 13:38  拾掇的往昔  阅读(131)  评论(0编辑  收藏  举报

导航