Как работают вложенные функции в Python?

def maker(n):
    def action(x):
        return x ** n
    return action

f = maker(2)
print(f)
print(f(3))
print(f(4))

g = maker(3)
print(g(3))

print(f(3)) # still remembers 2

Почему вложенная функция запоминает первое значение2 даже не смотря наmaker() вернулся и вышел к тому времениaction() называется?

Ответы на вопрос(9)

Ваш ответ на вопрос