Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Python: iterator, next, stopiteration

Что такое итератор в Python?

Проверяет понимание механизма пошагового получения элементов и различия между iterable и iterator.

Короткий ответ

Итератор — это объект, который возвращает элементы по одному при вызове next(). Он хранит текущее состояние перебора. Итератор реализует методы __iter__() и __next__(). Когда элементы заканчиваются, выбрасывается исключение StopIteration.

Длинный ответ

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

Определение

Итератор — это объект, который:

  1. Реализует метод __next__()

  2. Реализует __iter__() и возвращает сам себя

Пример работы

numbers = [10, 20, 30]
it = iter(numbers)

print(next(it))  # 10
print(next(it))  # 20

Каждый вызов next() возвращает следующий элемент.

Что происходит при завершении

Когда элементы заканчиваются:

next(it)  # StopIteration

Это сигнал для цикла for остановиться.

Итератор и итерируемый объект

Важно различать:

  • iterable — источник данных

  • iterator — механизм перебора

Например:

numbers = [1,2,3]

iter(numbers)  # возвращает новый итератор

Каждый вызов создаёт новый итератор.

Где используются итераторы

Итераторы применяются:

  • в циклах

  • в генераторах

  • в потоковой обработке данных

  • при чтении больших файлов

Вывод

Итератор — это объект, который хранит состояние перебора и возвращает элементы по одному. Это позволяет эффективно работать с большими наборами данных.

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    5

  • Сложность:

    4

Навыки

  • Python

    Python

Ключевые слова

#iterator

#next

#stopiteration

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.