Sobes.tech
Junior — Middle
89

Python'da sonu olmayan bir yineleyici (iterator) implement etmek mümkün mü?

AI'dan gelen yanıt

sobes.tech yapay zeka

Да, в 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().