鱼C论坛

 找回密码
 立即注册
查看: 1831|回复: 3

求助关于__bases__方法实现多重继承的错误

[复制链接]
发表于 2017-11-6 15:19:26 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 949410591 于 2017-11-6 15:39 编辑

我的Python版本是3.7
代码是这样的
  1. class Turtle:
  2.     def __init__(self,x):
  3.         self.num = x
  4. class Fish:
  5.     def __init__(self,x):
  6.         self.num = x
  7. class Pool:
  8.     def __init__(self,x,y):
  9.         self.turtle = Turtle(x)
  10.         self.fish = Fish(y)
  11.     def print_num(self):
  12.         print("水里有乌龟%d只 小鱼 %d条"%(self.turtle.num,self.fish.num))
  13. Turtle.__bases__ += (Fish,)

复制代码

但是运行后报错
>
    Turtle.__bases__ += (Fish,)
TypeError: Cannot create a consistent method resolution
order (MRO) for bases object, Fish
>>>

求助该如何解决这个问题!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-11-6 19:40:08 From FishC Mobile | 显示全部楼层
有大佬帮忙解决吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-7 02:47:25 From FishC Mobile | 显示全部楼层
难受
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-11-7 08:55:36 | 显示全部楼层
继承就按照 class A(B):这种方式,要多个,就括号里面写成class A(B,C)这样:
或者使用super,你这样算是别出心裁吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-25 19:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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