这个程序两次调用__iter__(self)的作用
class MyNumbers:
def __iter__(self):
print ("iter")
self.a = 1
return self
def __init__(self):
print ("MyNumber")
def __next__(self):
if self.a <= 20:
x = self.a
self.a += 1
return x
else:
raise StopIteration
myclass = MyNumbers()
myiter = iter(myclass)
for i in myiter:
print (i)
执行myiter = iter(myclass)语句时,调用了__iter__(),在第一次循环时,又调用了一次__iter__(),这2次调用__iter__()作用分别是什么?第一次我的理解是建立(初始化迭代器),那在第一次执行for循环时,调用__iter__()作用是什么呢?