Zatrzymanie iteracji Pythona
StopIteracja
Aby zapobiec ciągnięciu się iteracji w nieskończoność, możemy użyć
StopIteration
instrukcji.
W __next__()
metodzie możemy dodać warunek kończący, aby zgłosić błąd, jeśli iteracja zostanie wykonana określoną liczbę razy:
Przykład
Zatrzymaj się po 20 iteracjach:
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)