- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在使用 Learn Python the Hard Way 学习 Python,并且非常喜欢它。在其中一个类(class)示例中,我没有掌握“return”的用法。
我坚持的类(class)是 Exercise 43: Gothons From Planet Percal #25 .我知道当游戏第一次运行时 next_room_name
被设置为 central_corridor
所以 central_corridor()
在 下的第一个循环中被调用播放()
。我不明白的是 self.start
是如何重新分配的。
例如,在 central_corridor()
下返回的 death
实例。在第 49 行返回之后,我们回到了 play(self): while True
循环。第一行是 next_room_name = self.start
据我所知,self.start
仍然等于 central_corridor
,但现在显然等于 死亡
。
这是否意味着在返回death
之后,仍在play()
下的while
循环中,对象Game ()
已经重新初始化,__init__
被提供返回的结果?我很困惑 __init__
下的 next_room_name = self.start
是如何被重新分配给 death
的,而我们在技术上仍处于 play(self): while True
循环并且还没有退出。我想我对 death
返回到哪里感到困惑。
最佳答案
所以让我们逐步了解它直到 while
循环:
a_game = Game("central_corridor")
a_game.play()
这里我们实例化a_game
,start_value
= central_corridor
。到目前为止,一切顺利 :) 现在我们运行 a_game.play()
:
def play(self):
next_room_name = self.start
while True:
print "\n--------"
room = getattr(self, next_room_name)
next_room_name = room()
正如您正确指出的那样,next_room_name
被分配了值 central_corridor
,然后 while
循环开始。
这可能是要获取的重要部分 - while
循环仅执行 while
部分以及其下方缩进的所有内容 - next_room_name
是 < strong>不每次都重新分配给self.start
。相反,我们将 room
定义为属性 next_room_name
(即 central_corridor
),然后运行同名方法。然后在下一个循环中使用该方法的返回值(假设是 death
),这意味着 room = death
,next_room_name=
结果death()
,它打印一个随机的讽刺然后退出。如果名称是另一个房间,它将继续循环。
关于python - 请帮助理解本例中如何使用 'return' 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13262173/
我最近购买了《C 编程语言》并尝试了 Ex 1-8这是代码 #include #include #include /* * */ int main() { int nl,nt,nb;
早上好!我有一个变量“var”,可能为 0。我检查该变量是否为空,如果不是,我将该变量保存在 php session 中,然后调用另一个页面。在这个新页面中,我检查我创建的 session 是否为空,
我正在努力完成 Learn Python the Hard Way ex.25,但我无法理解某些事情。这是脚本: def break_words(stuff): """this functio
我是一名优秀的程序员,十分优秀!