Python高级语法-多继承MRO相关-多继承顺序(4.5.1)
Posted simon-idea
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python高级语法-多继承MRO相关-多继承顺序(4.5.1)相关的知识,希望对你有一定的参考价值。
@
1.说明
使用类的魔法方法__mro__
可以查看他的父类调用顺序
还有调用父类的构造方法的时候,使用super调用,里面有C3算法支持,不会重复调用相同的祖先类
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地址
个人公众号:
以上是关于Python高级语法-多继承MRO相关-多继承顺序(4.5.1)的主要内容,如果未能解决你的问题,请参考以下文章