Python高級語法-多繼承MRO相關-多繼承順序(4.5.1)

@git

1.說明

使用類的魔法方法__mro__
能夠查看他的父類調用順序
還有調用父類的構造方法的時候,使用super調用,裏面有C3算法支持,不會重複調用相同的祖先類github

2.代碼

class Parent(object):
    def __init__(self,name,*args,**kwargs):
        print("Parent的init開始調用")
        self.name = name
        print("Parent的init結束調用")


class Son1(Parent):
    def __init__(self,name,gender,*args,**kwargs):
        print("Son1的init開始調用")
        self.gender = gender
        super().__init__(name,*args,**kwargs)
        print("Son1的init結束調用")



class Son2(Parent):
    def __init__(self,name,age,*args,**kwargs):
        print("Son2的init開始調用")
        self.gender = age
        super().__init__(name,*args,**kwargs)
        print("Son2的init結束調用")



class GrandSon(Son1,Son2):
    def __init__(self,name,gender,age):
        print("GrandSon的init開始調用")
        super().__init__(name,age,gender)
        print("GrandSon的init結束調用")

print(GrandSon.__mro__)

關於做者

我的博客網站
我的GitHub地址
我的公衆號:
在這裏插入圖片描述算法

相關文章
相關標籤/搜索