def inner_function():
print(message)
return inner_function()
outer_function()
#Hi
Почему в этом примере, когда мы убрали вызов функции в inner_function
при присваивании outer_function() переменной my_foo и затем вызва ее, у нас исполняется
вызов inner_function()?
def outer_function():
message = "Hi"
def inner_function():
print(message)
return inner_function
my_foo = outer_function()
my_foo()
#Hi
потому что во 2 примере ты возвращаешь callable
а почему 3 шаг происходит
потому что только в этом шаге ты превращаешь <function outer_function.<locals>.inner_function at 0x000002AAA5A18B80> в результат
Обсуждают сегодня