Back to questions
Junior — Middle
61
Можно ли реализовать в Python итератор, который не имеет конечной точки завершения?
Answer from AI
sobes.tech AI
Да, в Python можно реализовать итератор без конечной точки завершения — бесконечный итератор. Такой итератор никогда не вызовет StopIteration и будет генерировать значения бесконечно.
Пример бесконечного итератора, который генерирует натуральные числа:
class InfiniteCounter:
def __init__(self):
self.num = 0
def __iter__(self):
return self
def __next__(self):
self.num += 1
return self.num
# Использование:
counter = InfiniteCounter()
for i in counter:
print(i)
if i >= 10:
break # чтобы не зациклиться бесконечно
Также в стандартной библиотеке есть бесконечные итераторы, например itertools.count().