Можно ли объявить функцию внутри другой функции? Что при этом происходит?
Уровень: Middle
Ответ
Да, в Python можно определять функцию внутри функции. Такая внутренняя функция видна и вызывается только внутри внешней функции (в её области видимости). При каждом выполнении внешней функции создаётся новый объект внутренней функции. Если внутренняя функция использует переменные внешней (не как global), она образует замыкание, сохраняя эти переменные.