Встречается на собеседованиях • сегодня

Какие методы нужно переопределить для реализации итератора

Для реализации итератора в Python нужно переопределить два метода в классе:

  1. __iter__(self) - должен возвращать сам объект итератора (обычно self)
  2. __next__(self) - должен возвращать следующий элемент последовательности или вызывать StopIteration, когда элементы закончились

Пример простого итератора, который возвращает числа до указанного предела:

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

    def __iter__(self):
        return self

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

# Использование
for num in CountUpTo(5):
    print(num)  # 1, 2, 3, 4, 5

Также можно реализовать итератор через генераторы, тогда методы создаются автоматически.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы