小编典典

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

python

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

class Player:
    pass

class Enemy(Player):
    pass

class GameObject(Player, Enemy):
    pass

g = GameObject()

阅读 194

收藏
2020-12-20

共1个答案

小编典典

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

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

class GameObject(Enemy):
    pass

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

2020-12-20