Sobes.tech
Back to questions
Junior — Middle
48

Каким образом реализуется паттерн Итератор и для чего он применяется в программировании?

Answer from AI

sobes.tech AI

Паттерн Итератор позволяет последовательно обходить элементы коллекции без раскрытия её внутренней структуры. В Python итератор реализуется через методы __iter__() и __next__().

Применяется для удобного и универсального перебора элементов, например, в цикле for.

Пример реализации итератора для пользовательского класса:

class MyRange:
    def __init__(self, start, end):
        self.current = start
        self.end = end

    def __iter__(self):
        return self

    def __next__(self):
        if self.current >= self.end:
            raise StopIteration
        val = self.current
        self.current += 1
        return val

for i in MyRange(1, 5):
    print(i)  # Выведет числа от 1 до 4

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