Sobes.tech
Назад к вопросам
Junior — Middle
61

Какова роль и применение итератора в программировании?

Компании, где спрашивали
СБЕР клаудСБЕР клауд

Ответ от нейросети

sobes.tech AI

Итератор в программировании — это объект, который позволяет последовательно обходить элементы коллекции (например, списка, множества, словаря) без необходимости знать внутреннюю структуру коллекции.

В Python итератор реализует методы __iter__() и __next__(). При вызове next() возвращается следующий элемент, а при достижении конца выбрасывается исключение StopIteration.

Применение итераторов:

  • Позволяют писать универсальный код для обхода любых коллекций.
  • Используются в циклах for, которые автоматически вызывают итератор.
  • Позволяют создавать ленивые последовательности, которые генерируют элементы по мере необходимости.

Пример создания собственного итератора:

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

    def __iter__(self):
        return self

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

for number in CountDown(5):
    print(number)

Вывод:

5
4
3
2
1

Итераторы делают код более гибким и эффективным при работе с последовательностями данных.