Der Code lautet wie folgt:
# -*- coding:gb2312 -*-
def test(a,b,funC):
result = funC(a,b)
return result
funC = eval(input("请输入函数"))
num = test(11,22,funC)
print(num)
Führen Sie Folgendes aus:
Ich gebe ein:
Lambda x,y:x+y
oder
Lambda x,y:x**y
beide können erfolgreich sein
Meine Frage ist:
Die Buchstaben nach Lambda sind x und y, die sich von a und b im vorherigen funC(a,b) unterscheiden
Warum kann das wahr sein?
Mit anderen Worten, warum sollte es nicht Lambda a,b:a+b sein? Sollten die Buchstaben, die ich eingebe, nicht die gleichen sein wie die Buchstaben oben?
所以
lambda a,b:a+b
中的a, b
是形参, 在函数体内用作局部变量, 而x, y
在函数体内用作局部变量, 变量可以为实参的.所以作为lambda
函数表达式的实参. 不需要一样的.