Функции как переменные в Python. Область видимости переменной. Реализация инкапсуляции переменной в Python.
Реализуем механизм инкапсуляции переменной value:
Теперь помещаем значение переменной с помощью set(значение). И получаем его с помощью get(). При определении функции set(update), value указана как nonlocal
. Это сделано т.к. в питоне поиск имени переменной, при присваивании, ведётся сначала в локальной, затем в объемлющей функции, затем в глобальной и, наконец, во встроенной. Мы указываем интерпретатору, что он не должен искать value среди локальных переменных, т.е. он будет искать её в объемлющей функции cell().
Пример использования:
04 07 2016