当我这样写的时候:
def calculator(operation, n1, n2):
return operation(n1, n2)`
print (calculator(lambda n1, n2: n1 * n2, 10, 20))
我得到了想要的输出200。
但是当我这样写的时候:
print (lambda n1,n2: n1*n2 (10,20))
我没有得到200作为输出。
为什么会这样?
解决方案是将lambda
赋值包装在括号()
中,如下所示:
print((lambda n1, n2: n1 * n2)(10, 20))
打印:
200
或者,您可以将lambda
表达式赋值给一个变量,然后使用变量:
l = lambda n1, n2: n1 * n2
print(l(10, 20))