Что такое ленивые вычисления
Python
Junior
Без компании
Что такое ленивые вычисления
Ответы
Ленивые вычисления (lazy evaluation) — это стратегия откладывания вычислений до момента, когда результат действительно понадобится. Это позволяет экономить ресурсы, избегая ненужных операций.
**Пример с генераторами в Python:**
```
def lazy_range(n):
i = 0
while i < n:
yield i
i += 1
# Вычисляется только при запросе
gen = lazy_range(1000000)
print(next(gen)) # 0
print(next(gen)) # 1
```
Ключевые особенности:
- Потребляет память экономно (элементы генерируются по требованию)
- Работает быстрее для больших данных (не вычисляет всё сразу)
- Используется в генераторах, `map()`, `filter()`, `itertools`
Противоположность — энергичные вычисления (eager evaluation), где всё вычисляется сразу (как в списках).