Как отличить замыкание от обычной функции? Здравствуйте. Функция №2 является замыканием. Но считается ли замыканием функция №1, если замыкание — это функция, которая находится внутри другой функции и ссылается на переменные объявленные в теле внешней функции? Функция №1:def func_1(): def func_2(): return 'Hello world!' return func_2 f = func_1() print(f()) Функция №2:def func_1(): st = 'Hello world!' def func_2(): return st return func_2 f = func_1() print(f())
Да, функция №1 также является замыканием, так как функция func_2 вложена в функцию func_1 и ссылается на переменную st, объявленную в теле внешней функции func_1. Она сохраняет доступ к этой переменной после завершения выполнения функции func_1.
Да, функция №1 также является замыканием, так как функция func_2 вложена в функцию func_1 и ссылается на переменную st, объявленную в теле внешней функции func_1. Она сохраняет доступ к этой переменной после завершения выполнения функции func_1.