代码如下:
# -*- coding:gb2312 -*-
def test(a,b,funC):
result = funC(a,b)
return result
funC = eval(input("请输入函数"))
num = test(11,22,funC)
print(num)
执行如下:
我输入:
lambda x,y:x+y
或者
lambda x,y:x**y
都可以成功没问题
我的问题是:
lambda 后面的字母是x和y 和前面funC(a,b)里面的a,b 不一样
为什么也可以成立?
换句话说,为什么不应该是lambda a,b:a+b 我输入的字母不应该跟上面的字母是一样的么?
所以
.所以作为lambda a,b:a+b
中的a, b
是形参, 在函数体内用作局部变量, 而x, y
在函数体内用作局部变量,lambda a,b:a+b
中的a, b
是形参, 在函数体内用作局部变量, 而x, y
在函数体内用作局部变量, 变量可以为实参的.所以作为lambda
变量可以为实参的lambda
函数表达式的实参. 不需要一样的.🎜