Теория
Можно ли объявлять функцию внутри другой функции и где она будет видна?
Объяснение вложенных функций и замыканий на явно выбранном примере Python: локальное имя, возврат функции наружу и доступ к переменным внешней области.
Читать ответ