Как реализован итератор в Python

Python Middle Без компании
Как реализован итератор в Python
Ответы
В Python итератор — это объект, который реализует протокол итератора, состоящий из двух методов: - `__iter__()` — возвращает сам объект итератора - `__next__()` — возвращает следующий элемент или вызывает `StopIteration` Пример простого итератора: ``` class Counter: def __init__(self, low, high): self.current = low self.high = high def __iter__(self): return self def __next__(self): if self.current > self.high: raise StopIteration else: self.current += 1 return self.current - 1 # Использование for num in Counter(1, 5): print(num) # 1, 2, 3, 4, 5 ``` Также можно создавать итераторы с помощью генераторов (функций с `yield`), что часто проще: ``` def counter(low, high): current = low while current <= high: yield current current += 1 ``` Встроенные типы (list, dict, set и др.) уже реализуют протокол итератора.