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)