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

Какие методы нужно определить, чтобы создать собственный итератор в Python

Чтобы создать собственный итератор в Python, нужно реализовать два метода в классе:

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

Пример:

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

    def __iter__(self):
        return self

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

for num in CountDown(3):
    print(num)  # 3, 2, 1

Если итератор должен быть отдельным от итерируемого объекта, можно разделить их на два класса (например, как list и list_iterator).

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

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

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

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