Sobes.tech
Junior — Middle
71

Каким образом в Python реализуется механизм получения объекта, позволяющего проходить по элементам коллекции по одному?

Answer from AI

sobes.tech AI

В Python механизм получения объекта для последовательного прохода по элементам коллекции реализуется через итераторы. Итератор — это объект, который реализует методы __iter__() и __next__().

Когда вы вызываете функцию iter() на коллекции, она возвращает итератор. Итератор позволяет получать элементы по одному с помощью вызова next(). Если элементы заканчиваются, вызывается исключение StopIteration.

Пример:

my_list = [1, 2, 3]
iterator = iter(my_list)  # Получаем итератор

print(next(iterator))  # 1
print(next(iterator))  # 2
print(next(iterator))  # 3
# Следующий вызов next(iterator) вызовет StopIteration

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