> Что должно присутствовать у объекта, чтобы он был итератором в Python (Python)
Уровень: senior · Роль: backend · Категория: Технические вопросы
Компании: Сбер
Стек: Python
> Пример ответа
Чтобы объект был итератором в Python, у него должны быть реализованы два метода протокола итератора:
__iter__()- возвращает сам объект итератора (обычноself). Этот метод делает объект итерируемым (т.е. пригодным для использования в циклеfor).__next__()- возвращает следующий элемент последовательности. Если элементов больше нет, метод должен выбросить исключениеStopIteration.
Пример минимального итератора:
PYTHONclass MyIterator:def __init__(self, data):self.data = dataself.index = 0def __iter__(self):return self # итератор возвращает сам себяdef __next__(self):if self.index >= len(self.data):raise StopIterationvalue = self.data[self.index]self.index += 1return value
Такой объект можно использовать в цикле for или с функцией next(). Отличие от итерируемого объекта (например, списка) в том, что итератор хранит состояние текущей позиции и "исчерпывается" после прохода.
> Похожие задачи по backend
Что происходит с автонастройкой перед сохранением в Django
Какие типы данных существуют в Python
Как параллелить выполнение функции в Python
Как вывести в одном датафрейме результаты по студентам с баллами по математике и биологии ниже 80
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью