while True:
print "\n--------"
room = getattr(self, next)
next = room()
私の質問は、 Learn Python The Hard Way - Exercise 43にある上記のコード ブロックから生じています。getattr()
3 行目で関数の結果 (この場合はself.next
) が変数に格納されていることは理解していroom
ます (間違っていなければ...?)。
今私を悩ませているのは、関数room()
が variable に格納されている 4 行目ですnext
。room()
基本的に、これはコードブロックで定義された関数ではないため、その部分がわかりません。Python では、ユーザーは前の変数に基づいて関数を定義できますか? room()
(例:初めて書き込むとroom()
、変数に格納されている内容に基づいて呼び出される関数が作成されますroom
)。
どんな助けでも大歓迎です!