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)