Для чего нужен итератор в Python
Python
Middle
Evapps
Для чего нужен итератор в Python
Ответы
Итератор в Python — это объект, который позволяет последовательно получать элементы из коллекции без необходимости знать её внутреннее устройство. Он реализует два метода:
- `__iter__()` — возвращает сам итератор.
- `__next__()` — возвращает следующий элемент или вызывает `StopIteration`, если элементы закончились.
**Основные преимущества:**
- **Ленивые вычисления** — элементы генерируются по требованию, экономя память.
- **Универсальность** — единый интерфейс для работы с разными коллекциями (списки, словари, файлы и т.д.).
**Пример:**
```
class Counter:
def __init__(self, start, end):
self.current = start
self.end = end
def __iter__(self):
return self
def __next__(self):
if self.current > self.end:
raise StopIteration
result = self.current
self.current += 1
return result
# Использование:
for num in Counter(1, 3):
print(num) # 1, 2, 3
```
Итераторы лежат в основе циклов `for`, генераторов и многих встроенных функций (`map`, `filter`, `zip`).