鱼C论坛

 找回密码
 立即注册
查看: 764|回复: 7

[已解决]菱形继承的问题,

[复制链接]
发表于 2020-4-3 16:37:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
class A():
    def __init__(self):
        print("进入A...")
        print("进入N...")
        print("离开A...")

class Q():
    def __init__(self):
        print("进入X...")
        print("进入AS...")
        print("离开AZ...")

class B(A,Q):
    def __init__(self):
        print("进入B...")
        super().__init__()
        print("离开B...")
        print("进入E...")


想请教一下各位大神,这里这个继承为什么没有继承Q呢
最佳答案
2020-4-3 16:42:11
看看这个帖子
我在这个帖子中回答的比较详细,
应该能解答你的疑惑
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-4-3 16:38:39 | 显示全部楼层
因为继承多个类时,super优先调用继承在前的父类
你可以打印下__mro__看看顺序
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-3 16:42:11 | 显示全部楼层    本楼为最佳答案   
看看这个帖子
我在这个帖子中回答的比较详细,
应该能解答你的疑惑
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-3 17:10:27 | 显示全部楼层
sunrise085 发表于 2020-4-3 16:42
看看这个帖子
我在这个帖子中回答的比较详细,
应该能解答你的疑惑

请问大佬,如果我要输出两个父类,是不是只能用A.__init__(self) Q.__init__(self)而不能用super呢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-3 17:11:02 | 显示全部楼层
qiuyouzhi 发表于 2020-4-3 16:38
因为继承多个类时,super优先调用继承在前的父类
你可以打印下__mro__看看顺序

请问大佬,如果我要输出两个父类,是不是只能用A.__init__(self) Q.__init__(self)而不能用super呢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-3 17:20:51 | 显示全部楼层
半夜起床不睡觉 发表于 2020-4-3 17:10
请问大佬,如果我要输出两个父类,是不是只能用A.__init__(self) Q.__init__(self)而不能用super呢

输出两个父类是什么意思?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-3 17:24:11 | 显示全部楼层
半夜起床不睡觉 发表于 2020-4-3 17:11
请问大佬,如果我要输出两个父类,是不是只能用A.__init__(self) Q.__init__(self)而不能用super呢

这样指定去执行哪个是最方便的。

其实super还可以加参数的,在那个帖子中有比较详细的解释,我就不再敲一遍字了
那篇帖子有好几层楼都是具体的回答。
你可以看看我在那个帖子中3楼给出的例程
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-6 16:34:33 | 显示全部楼层
sunrise085 发表于 2020-4-3 17:24
这样指定去执行哪个是最方便的。

其实super还可以加参数的,在那个帖子中有比较详细的解释,我就不再 ...

好的,谢谢大佬
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-22 00:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表