while True:
print "\n--------"
room = getattr(self, next)
next = room()
我的问题源于上面的代码块,可在Learn Python The Hard Way -练习 43中找到。我知道第三行将getattr()
函数结果(在本例中self.next
为 )存储到room
变量中(除非我错了......?)
现在让我感到困惑的是第四行,函数room()
存储在变量next
中。从根本上说,我不理解这room()
部分,因为这不是代码块中定义的函数。Python 是否允许用户根据前面的变量定义函数?(例如:room()
第一次编写会room()
根据存储在变量中的内容创建一个调用的函数room
)。
任何帮助将不胜感激!