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