День 59. Nonlocal. Валидация.
Python . nonlocal. Выражение nonlocal прикрепляет идентификатор к переменной из ближайшего окружающего контекста (за исключением глобального контекста). Здесь вложенная локальная функция inner() выводит на консоль значение переменной n, которая определена во внешней функции outer(). Затем в функции outer() вызывается внутренняя функция inner(). При вызове функции outer() здесь мы ожидаемо увидим на консоли два раза число 5. Однако в данном случае вложенная функция inner() просто получает значение...
Концепция замыканий (closures) в языке Python
*** В своей книге «Изучаем Python» (Марк Лутц. Изучаем Python. М., СПб, 2020. Т. 1. С. 529. [оригинальное название – Mark Lutz. Learning Python; перевод с английского Ю.Н. Артеменко]) Марк Лутц кратко разбирает 2-а примера, демонстрирующих концепцию замыканий (closures) в языке Python. Эти примеры очень интересны, поучительны и заслуживают более подробного разбора. def tester(start): state = start def nested(label): print(label, state) return nested F = tester(0) F('spam') F('ham') 1) Вызывается tester(0)...