table of Contents
@
1. Description
Magic method class __mro__
view his parent call sequence
also call the constructor of the parent class when using super call, there are C3 algorithm supports, will not repeat the call the same ancestor class
2. Code
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__)
About the Author
Personal blog site
personal GitHub address
individual public number: