TypeError:无法创建一致的方法解析顺序(MRO)

发布于 2021-01-29 19:36:20

这是我计划用于游戏的代码,但是它抱怨MRO错误:

class Player:
    pass

class Enemy(Player):
    pass

class GameObject(Player, Enemy):
    pass

g = GameObject()
关注者
0
被浏览
73
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    GameObject是从Player 继承Enemy。因为Enemy 已经
    PlayerPython继承了,所以现在无法确定首先查找方法的类;要么Player,或者Enemy,这将覆盖定义的东西Player

    您无需在Enemy此处命名所有基类;只是从该类继承:

    class GameObject(Enemy):
        pass
    

    Enemy已经包含Player,则无需再次添加。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看