Python 我能';我不明白为什么这个AttributeError持续存在

Python 我能';我不明白为什么这个AttributeError持续存在,python,Python,Stack Overflow的大家好【我的第一篇帖子,请原谅问题结构中的任何特殊情况,等等】正如标题所述,我得到了这段代码,其中Map类中有一个明确定义的“打开场景”函数,但我得到了一个属性错误【字典中的Manor类引用只有一个函数def enter(self)】: 非常感谢您的任何建议/提示/解释,谢谢 以下是键入的代码: class Manor(Scenes): """First encounter class.""" def e

Stack Overflow的大家好【我的第一篇帖子,请原谅问题结构中的任何特殊情况,等等】正如标题所述,我得到了这段代码,其中Map类中有一个明确定义的“打开场景”函数,但我得到了一个属性错误【字典中的Manor类引用只有一个函数
def enter(self)】:

非常感谢您的任何建议/提示/解释,谢谢

以下是键入的代码:

class Manor(Scenes):
"""First encounter class."""

def enter(self):
    """First encounter."""
    print("""plot fodder""")

class Map(object):
    """The Map w/ a data dictionary using classes."""

    scenes = {
        'manor': Manor(),
        'master_bedroom': MasterBedroom(),
        'dining_room': DiningRoom(),
        'escape_scene': EscapeTheHouse(),
        'death': Death(),
        'finished': Finished()
    }

    def __init__(self, start_scene):
        """Instance initiator."""
        self.start_scene = start_scene

    def next_scene(self, scene_name):
        """Move to next class."""
        value = Map.scenes.get(scene_name)
        return value

    def opening_scene(self):
        """Mechanism that starts."""
        return self.next_scene(self.start_scene)


class Engine(object):
    """Engine of the game class."""

    def __init__(self, scene_map):
        """instance."""
        self.scene_map = scene_map

    def play(self):
        """Engine of the class."""
        current_scene = self.scene_map.opening_scene()
        last_scene = self.scene_map.next_scene('finished')

        while current_scene != last_scene:
            next_scene_name = current_scene.enter()
            current_scene = self.scene_map.next_scene(next_scene_name)

        current_scene.enter()


a_map = Map.scenes[('manor')]
a_game = Engine(a_map)
a_game.play()
下面是powershell错误:
第159行,正在播放的当前场景=self.scene\u map.opening\u scene()AttributeError:“Manor”对象没有属性“opening\u scene”

A

该类在函数中包含多个条件分支,但我认为它可能超出了问题的范围,如果不是,我也会添加它


如果我没有包含更多信息,请告诉我!

您将
地图.场景[('manor')]
分配给
地图

a_map = Map.scenes[('manor')]
它是
Manor()
的一个实例,定义如下:

scenes = {
        'manor': Manor(),
        # ...
}
然后将
Manor()
的实例传递给
Engine()
构造函数:

a_game = Engine(a_map)
它将其分配给
self.scene\u map
此处:

def __init__(self, scene_map):
        """instance."""
        self.scene_map = scene_map
然后调用
.play()
,它可以执行以下操作:

current_scene = self.scene_map.opening_scene()

因此,它试图在
Manor()的实例上调用
.opening_scene()
,但是
Manor
没有
打开场景的方法,因此失败。

不要发布图片。将文本放入question@BeanBagTheCat它是在代码第28行附近的图片中显示的代码上面定义的。@SoVesali-这没关系,只要复制相关代码并将其放入问题中即可。在因此,与可能在不久的将来消失的图像相关的内容是毫无意义的,因此您必须在问题中包含相关代码。错误消息/输出也是如此。也不要相信我们的话,这很有意义:Manor()
类从何而来?您可以提供导入或相关代码吗?