Назад к вопросам
Junior — Middle
59
Объясните, что представляет собой метод __next__ в итераторах Python и как он работает
Ответ от нейросети
sobes.tech AI
Метод __next__ в Python — это специальный метод, который определяет поведение итератора при переходе к следующему элементу. Когда вызывается функция next() на объекте-итераторе, Python вызывает именно этот метод.
Если в итераторе есть следующий элемент, __next__ возвращает его. Если элементов больше нет, метод должен вызвать исключение StopIteration, чтобы сигнализировать об окончании итерации.
Пример простого итератора с реализацией __next__:
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
else:
raise StopIteration
counter = CountUpTo(3)
for number in counter:
print(number)
Вывод:
1
2
3
Таким образом, __next__ управляет последовательным получением элементов и завершением итерации.