Замыкания (Closures) в Python
Сегодня поговорим о такой интересной вещи как замыкания в Python.
По сути замыкание - это внутренняя функция, которая возвращается из внешней и использует переменные из внешнего скоупа (которые ей не принадлежат). Функция как бы "замыкает", захватывает переменные из внешней функции. Вы могли встречать такое например в декораторах.
Каждый объект замыкания независим, они не пересекаются, у каждого свои данные. Замыкания это еще один шаг в сторону ООП, так как тут мы имеем некоторое состояние (данные) сокрытое от посторонних глаз и с которым можно взаимодействовать только с помощью заранее написанного интерфейса (функция).
Замыкания могут быть полезны для того чтобы избегать использования global, а также и в других случаях, когда нам важно, чтобы наши данные не изменили невалидным способом, чтобы с данными работали только через нашу логику.
НО(!) до этих данных тоже можно добраться при определенном желании, нужно понимать что нет полного сокрытия данных.
Присоединяйтесь к помощи каналу, будет интересно)
python
closures
closure
замыкания closures в python
замыкания python
closures пайтон
замыкания closures python
python что такое замыкания
замыкание питон
замыкания в python