码迷,mamicode.com
首页 > 编程语言 > 详细

Python高级语法-多继承MRO相关-多继承顺序(4.5.1)

时间:2019-08-26 12:43:45      阅读:102      评论:0      收藏:0      [点我收藏+]

标签:代码   技术   公众号   nim   div   python   *args   dso   href   

@

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)

标签:代码   技术   公众号   nim   div   python   *args   dso   href   

原文地址:https://www.cnblogs.com/simon-idea/p/11411755.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!