为什么我输入以下内容
eval("mult = lambda x,y: (x*y)")
我认为这是一个错误?怎么回事?
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1
mult = lambda x,y: (x*y)
^
SyntaxError: invalid syntax
我做错了什么?如果我按原样输入表达式(没有 eval
),我不会出错,并且可以尽情使用 mult
。
最佳答案
您想使用 exec而不是评估。我不知道你为什么要这样做,虽然你可以只使用 mult = lambda x,y : (x*y)
>>> exec("mult = lambda x,y : (x*y)")
>>> mult
<function <lambda> at 0x1004ac1b8>
>>> mult(3,6)
18
关于python - 在 eval() 中使用赋值(lambda)时出现语法错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6367618/