このコードはチュートリアルから作成しましたが、重要な概念を理解するのに苦労しています。「next」はどのようにして文字列「s」と等しくなるのですか? self.start はその文字列をどのように参照しますか?
import sys
class DemoClass(object):
def __init__(self, start): # executes once!
self.start = start
print "_init_"
def play(self): # executes once!
next = self.start
print "next"
while True:
attr = getattr(self, next) #get attribute of the class
next = attr()
def s(self): # these methods start calling each other once executed
print "s"
return 't'
def t(self):
print "t"
i = raw_input(">")
if i == 's': # if user input 'i' is equal to 's', call func "s"
return "s"
elif i == 'v':
return "v"
else:
exit(0)
def v(self):
print "v"
return 's'
a = DemoClass("s")
a.play()