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