无法通过.enter()函数理解Python

时间:2017-01-05 01:14:17

标签: python

我正在研究“学习Python困难之路”这本书,我不明白。在其中一个例外中,作者使用了一些我不理解的代码.enter()

def play(self):
    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()

我仍然不完全理解课程,但我主要理解这里发生了什么,除了输入。我找不到任何关于它的文档,并且有关它为何被使用以及它为什么存在的任何信息将非常有用。非常感谢你。

我正在使用最新版本的LPTHW练习43。练习的特定部分被称为来自Planet Percal#25的Gothons

4 个答案:

答案 0 :(得分:1)

enter()必须是场景类的函数(在第一个函数行中生成)。它不是内置的Python功能

答案 1 :(得分:0)

如果没有完整的练习,很难准确,但我认为enter()只是一个名为Scene的类的方法,current_scene是该类的一个实例

答案 2 :(得分:0)

我已经从LPTHW教过几次了。在一般解决方案中,较早的答案是正确的。 输入必须设计的每个类的方法;这就是为什么没有关于它的文档。此方法的目的是在玩家进入此房间时执行您需要执行的操作。典型的实现包括:

  • 打印欢迎信息
  • 打印房间的描述(玩家"看"?)
  • 初始化房间中的其他对象,例如
    • 创建一个熊对象
    • 确定要找到的黄金数量
    • 更新某些游戏状态,例如玩家进入此房间的次数。

你创造了这个世界; 输入方法是将其呈现给玩家的重要部分。

玩得开心。

答案 3 :(得分:-1)

首先,您可以使用pdb调试您的python应用程序,如下所示。

  

python -m pdb your.py

在pdb中,您可以使用以下命令查找某些信息。

  

帮助(current_scene.enter)