Как отличить замыкание от обычной функции? Здравствуйте. Функция №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())

15 Июл 2022 в 19:51
150 +1
0
Ответы
1

Да, функция №1 также является замыканием, так как функция func_2 вложена в функцию func_1 и ссылается на переменную st, объявленную в теле внешней функции func_1. Она сохраняет доступ к этой переменной после завершения выполнения функции func_1.

16 Апр 2024 в 18:13
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир