Зачем нужно замыкание
Python
Middle
Без компании
Зачем нужно замыкание
Ответы
Замыкание (closure) в Python позволяет функции запоминать значения из внешней области видимости, даже после завершения работы этой области. Это полезно для создания функций с сохранением состояния, фабрик функций или callback-ов.
Пример:
```
def make_multiplier(n):
def multiplier(x):
return x * n
return multiplier
times_two = make_multiplier(2)
print(times_two(5)) # 10
```
Здесь `multiplier` "запоминает" значение `n` из внешней функции `make_multiplier`, даже после того, как `make_multiplier` завершила работу. Это позволяет создавать специализированные функции на лету.
Основные случаи использования:
- Сохранение состояния между вызовами
- Создание функций с предустановленными параметрами
- Реализация декораторов
- Инкапсуляция данных (альтернатива классам для простых случаев)