Легко узнать, как назначить глобальную переменную внутренней функции - что сделает глобальную переменную самой функцией, равной внутренней функции - но как интерпретатор узнает, как вызвать аргумент из внутренней функции с помощьюиспользуя код ниже?
def outer(arg):
def inner(arg2):
print(arg, ',', arg2):
return inner
a = outer(‘outer arg’)
print(a) # .inner at 0x109bd0048
a('inner arg') # Output: outer arg, inner arg
Делая print(a)
, мы видим, что переменная / функция a
становится внутренней функцией.
Что я не понимаю, так это то, как присвоение переменной a
внешней функции предназначается для внутренней функции и аргумента с кодом, a(‘inner argument’))
Это как-то неявно вызываетвнутренняя функция без явного указания?
Делает ли это что-то вроде этого:
a = outer('outer arg')inner('inner arg')
Где находится исходный код python за этой магией?