【发布时间】:2012-08-20 00:39:10
【问题描述】:
here 提出了类似的问题。然而,这些回答并没有真正帮助我理解程序的某些部分是如何工作的。程序如下:
from sys import exit
from random import randint
class Game(object):
def __init__(self, start):
self.pie = [ 'pie test']
self.start = start
def play(self):
next_room_name = self.start
while True:
print "\n--------"
room = getattr(self, next_room_name)
next_room_name = room()
def rooom(self):
print "Test worked. good job"
return "piez"
def piez(self):
print "pie room"
exit(1)
a_game = Game("rooom")
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()
我知道以某种方式生成房间名称,因此程序可以转到它需要的位置。我只是不知道它是如何发生的。
我的第二个问题是:
self.start = start
我有点理解 self.pie 在做什么。但我不确定 self.start = start 应该完成什么。再次感谢您的帮助。
【问题讨论】:
标签: python class python-2.7 self getattr