Dừng lặp lại Python
StopIteration
Để ngăn việc lặp đi lặp lại mãi mãi, chúng ta có thể sử dụng
StopIteration
câu lệnh.
Trong __next__()
phương thức này, chúng ta có thể thêm điều kiện kết thúc để tạo ra lỗi nếu việc lặp được thực hiện một số lần cụ thể:
Thí dụ
Dừng sau 20 lần lặp:
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)