Sobes.tech
Back to questions
Junior — Middle
57

Создавали ли вы собственные реализации итераторов в своих проектах?

Answer from AI

sobes.tech AI

Да, в Python часто создают собственные итераторы, особенно когда нужно реализовать специфическую логику обхода данных.

Итератор — это объект, который реализует методы __iter__() и __next__().

Пример собственной реализации итератора, который перебирает числа от 1 до n:

class CountUpTo:
    def __init__(self, max_value):
        self.max = max_value
        self.current = 0

    def __iter__(self):
        return self

    def __next__(self):
        if self.current < self.max:
            self.current += 1
            return self.current
        else:
            raise StopIteration

# Использование:
for number in CountUpTo(5):
    print(number)

Такой итератор полезен, когда нужно контролировать процесс обхода или создавать ленивые последовательности.