当前位置: 首页 > 面试题库 >

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

姬捷
2023-03-14
问题内容

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

class Player:
    pass

class Enemy(Player):
    pass

class GameObject(Player, Enemy):
    pass

g = GameObject()

问题答案:

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

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

class GameObject(Enemy):
    pass

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



 类似资料:
  • 本文向大家介绍python方法解析顺序?相关面试题,主要包含被问及python方法解析顺序?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: Python的方法解析顺序优先级从高到低为:实例本身类继承类(继承关系越近,越先定义,优先级越高)

  • 问题内容: 在《Nutshell的Python》(第2版)一书中,有一个使用 旧样式类的示例演示了如何以经典解析顺序解析方法,以及该方法 与新解析顺序有何不同。 我通过用新样式重写示例来尝试相同的示例,但是结果与旧样式类所获得的结果没有什么不同。我用于运行示例的python版本是2.5.2。下面是示例: 该调用可以打印Base1,但是根据我对MRO的理解,带有新的类样式,输出应该是Base3。呼叫

  • 我正在通过Android Studio中的一个应用程序工作,该应用程序使用学校意图传递数据。我已经创建了传递数据的对象,并启动了,但是我不断收到一个警告,说我的方法无法解析。有什么想法吗?提前谢了。

  • 正如文件所述: Android O允许您通过在res/字体/文件夹中添加字体文件来捆绑字体作为资源。 结果: 您可以使用getFont(int)方法检索字体,其中需要传递要检索的字体的资源标识符。此方法返回Typeface对象。这将对字体的第一个重量或样式变体(如果是字体系列)进行编码。然后可以使用字体。create(typeface,style)方法来检索特定样式。 注意:TextView已经为

  • > 在菜单项和添加导航头之间导航的代码由一个方法组成。 由于作者没有提到在哪里粘贴这段代码,我粘贴在我的文件中 在菜单项之间导航和添加导航标题之间的代码是否由我粘贴在正确的位置? 在方法selectDrawerItem(MenuItem MenuItem)中有一条注释,创建一个新片段,并根据位置指定要显示的行星,作者是否希望我在这里添加一些内容。

  • 我正在尝试构建一个java。net应用程序,其中客户端和服务器必须通过串行收集类型(如字节[])相互发送数据。 由于未知原因,我的DataInputStream无法解析方法readAllBytes()。 一个朋友把它扔进了IDE,它没有抱怨。我不确定这怎么会是一个版本问题,但我检查了一下,并没有误解我的项目。我正在使用Java 8。 实际上,我确信应该支持这个方法,但我不明白为什么不支持,因为它是