Ответ
В Python итератор — это объект, реализующий протокол итерации через методы __iter__() и __next__(). Он позволяет последовательно получать элементы из коллекции или потока данных, не загружая их все в память сразу.
Ключевые методы:
__iter__()— возвращает сам объект итератора.__next__()— возвращает следующий элемент. Если элементы закончились, вызывает исключениеStopIteration.
Пример создания собственного итератора:
class CountDown:
def __init__(self, start):
self.current = start
def __iter__(self):
return self
def __next__(self):
if self.current <= 0:
raise StopIteration
num = self.current
self.current -= 1
return num
# Использование
for num in CountDown(3):
print(num) # Вывод: 3, 2, 1
Практическое применение: Итераторы лежат в основе циклов for, генераторов (yield) и работы с файлами, что позволяет эффективно обрабатывать большие или бесконечные последовательности данных.