Python基础--多继承

Python基础–多继承

MRO(Method Resolution Order):方法解析顺序

  • 在多继承中MRO 是被经常使用到的方法,因为牵涉到多继承的问题,不清楚到的最下面的子类继承的父类的顺序是什么,.这个是使用MRO就能准确直观的看到继承的顺序了

格式为: class 类名(父类1,父类2)

# 定义父类Cat
class Cat:
    def bark(self):
        """ 小猫叫"""
        print("喵喵")

    def eat(self):
        """食物"""
        print("猫粮")

# 定义父类God
class God:
    def fly(self):
        """飞翔"""
        print("飘啊飘啊")

    def eat(self):
        """没啥吃的,舔爪子"""
        print("舔爪子")

# 定义多继承类FlyCat
# `PS`注意格式
class FlyCat(Cat, God):
    # 多继承 ,逗号隔开,继承多个类的方法和属性
    pass


dalianmao = FlyCat()
dalianmao.eat()
dalianmao.bark()
dalianmao.fly()

print(FlyCat.__mro__)

# print(FlyCat.__mro__)的输出为:
(<class '__main__.FlyCat'>, <class '__main__.Cat'>, <class '__main__.God'>, <class 'object'>)

# 根据mro的输出顺序,可以看到,对应的继承顺序为FlyCat--> Cat --> God --> object(基类)

Tips:这里推荐一个大佬的文章,介绍的MRO非常详细,大家可以看下点击 窗口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值