Замыкания, декораторы и nonlocal в Python: Путешествие от переменной до элегантного кода
Python славится своей гибкостью. Мы можем передавать функции как аргументы, возвращать их из других функций и даже "записывать" внутрь них состояние. Но как это работает под капотом? И при чем тут странное слово nonlocal ? В этой статье мы проследим эволюцию: начнем с глобальных переменных, разберемся с замыканиями (closures), поймем магию nonlocal , а затем соберем всё это вместе, чтобы понять, как работают декораторы — один из самых элегантных механизмов Python.




