@git
使用類的魔法方法__mro__
能夠查看他的父類調用順序
還有調用父類的構造方法的時候,使用super調用,裏面有C3算法支持,不會重複調用相同的祖先類github
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地址
我的公衆號:
算法