Встречается на собеседованиях • сегодня
Почему не срабатывает StopIteration при использовании for в Python
Цикл for в Python автоматически обрабатывает исключение StopIteration, поэтому оно не "прокидывается" наружу. Это часть протокола итерации: когда итератор исчерпан, он вызывает StopIteration, а цикл for ловит это исключение и завершает выполнение.
Пример:
python
my_list = [1, 2, 3]
iterator = iter(my_list)
for item in iterator:
print(item) # 1, 2, 3 - цикл завершится без ошибокЕсли же вызывать next() вручную, то StopIteration будет выброшено:
python
iterator = iter([1])
next(iterator) # 1
next(iterator) # Вызовет StopIterationЭто поведение сделано для удобства - чтобы не приходилось явно обрабатывать завершение итерации в циклах.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы