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

Зачем нужен метод __next__

Метод __next__ в Python используется для реализации итераторов. Он позволяет объекту быть итерируемым, возвращая следующее значение в последовательности при каждом вызове. Когда элементы заканчиваются, метод должен вызвать StopIteration.

Пример:

python
class Counter:
    def __init__(self, low, high):
        self.current = low
        self.high = high

    def __iter__(self):
        return self

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

# Использование
counter = Counter(1, 3)
for num in counter:
    print(num)  # Выведет 1, 2, 3

Без __next__ объект не сможет поддерживать итерацию, даже если у него есть __iter__. Этот метод — ключевая часть протокола итератора в Python.

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

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

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

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