问题遇到的现象和发生背景
实参数8传递给了函数funX(),参数x变成了8,temp(5)中的参数5是怎样传递过去的,传递给参数y 的吗,求解参数传递过程讲解,以及程序的运行过程讲解。
问题相关代码,请勿粘贴截图
def funX(x):
return lambda y : x * y
temp = funX(8)
temp(5)
40
运行结果及报错内容
运行结果 40
实参数8传递给了函数funX(),参数x变成了8,temp(5)中的参数5是怎样传递过去的,传递给参数y 的吗,求解参数传递过程讲解,以及程序的运行过程讲解。
def funX(x):
return lambda y : x * y
temp = funX(8)
temp(5)
40
运行结果 40
1、temp = funX(8) 运行完之后,返回的是一个 lambda函数,也可以认为是一个 8 * y的表达式。
2、对temp进行传参,传什么,都会进行一个 8 * 参数的值。