Sobes.tech
Junior — Middle
99

Que se passe-t-il à l'intérieur de l'itérateur en Python après avoir terminé de parcourir les éléments d'une séquence?

Entreprises à qui on a demandé
RutubeRutube

Réponse de l'IA

sobes.tech IA

После того как итератор в Python перебирает все элементы последовательности, при следующем вызове метода __next__() он возбуждает исключение StopIteration. Это сигнализирует о том, что элементы закончились, и перебор завершён. Именно это исключение используется в цикле for для остановки итерации.

Пример:

it = iter([1, 2, 3])
print(next(it))  # 1
print(next(it))  # 2
print(next(it))  # 3
print(next(it))  # StopIteration

Таким образом, внутри итератора после окончания элементов происходит генерация исключения StopIteration, что позволяет корректно завершить перебор.