Back to questions
Junior — Middle
55
Каким образом реализован механизм обхода элементов через итератор при использовании цикла for в Python?
Answer from AI
sobes.tech AI
В Python цикл for работает с любым итерируемым объектом благодаря протоколу итератора. Когда начинается цикл, вызывается функция iter() на объекте, которая возвращает итератор — объект с методом __next__(). При каждой итерации вызывается __next__(), который возвращает следующий элемент. Если элементов больше нет, вызывается исключение StopIteration, и цикл завершается.
Пример:
my_list = [1, 2, 3]
iterator = iter(my_list) # Получаем итератор
while True:
try:
item = next(iterator) # Получаем следующий элемент
print(item)
except StopIteration:
break # Итерация завершена
Цикл for скрывает эту логику, делая код более лаконичным и удобным.