В следующем коде у меня есть некоторые трудности в понимании того, как возвращаемое значение смещается между областями функций.
def x(y):
def y(z):
x = lambda x: x**2
y = lambda x: x+2
def z(x):
return x(5)
return z(y)
return y(x)
print(x(lambda x: x+1))
Я понимаю, что возвращаемое значение оценивается как 7, поскольку y = lambda x: x+2
передается в z(x)
, где 5 + 2 = 7. Я провел свой код через Visualize Python, чтобы понять, как он работает, иЯ не понимаю последние три шага.
Шаг 16 из 18:
Шаг 17 из 18:
Шаг 18 из 18:
Был бы очень признателен, если бы кто-то мог рассказать мне о том, что здесь происходит.Спасибо.