Python 停止迭代
StopIteration(停止迭代)
为了防止迭代永远进行下去,我们可以使用 StopIteration 语句。
在 next() 方法中,我们可以添加一个终止条件,以便在迭代达到指定次数后引发错误:
实例
在 20 次迭代后停止:
class MyNumbers:
def __iter__(self):
self.a = 1
return self
def __next__(self):
if self.a <= 20:
x = self.a
self.a += 1
return x
else:
raise StopIteration
myclass = MyNumbers()
myiter = iter(myclass)
for x in myiter:
print(x)