tek*_*agi 4 python lambda eval
我怎么输入以下内容
eval("mult = lambda x,y: (x*y)")
Run Code Online (Sandbox Code Playgroud)
我认为这是一个错误?这是怎么回事?
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1
mult = lambda x,y: (x*y)
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?如果我按原样输入表达式(不eval)我没有错误,并且可以使用mult我心中的内容.
GWW*_*GWW 11
你想使用exec而不是eval.我不知道为什么你会想要这样做,虽然你可以使用mult = lambda x,y : (x*y)
>>> exec("mult = lambda x,y : (x*y)")
>>> mult
<function <lambda> at 0x1004ac1b8>
>>> mult(3,6)
18
Run Code Online (Sandbox Code Playgroud)
Eval表达式,它不分配.
>>> eval("lambda x,y: y*x")
<function <lambda> at 0xb73c779c>
>>> eval("lambda x,y: y*x")(2, 4)
8
Run Code Online (Sandbox Code Playgroud)
您必须将eval'd表达式分配给变量:
>>> mult = eval("lambda x,y: y*x")
>>> mult(2, 3)
6
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4790 次 |
| 最近记录: |