使用评估功能



我知道函数 eval 在没有引号的情况下执行字符串(在参数中(。所以我只是在尝试

x=eval("4*5")  #this works
eval("x=4*5")  #but this doesn't

请说出我错在哪里!

使用

exec('x=4*5')

eval 仅计算表达式而不计算赋值。

4*5

是一个表达式,它的值为20

x=4*5不是表达式,也没有值。这是一个语句,意味着它执行一个操作。

eval()

将其字符串参数作为python表达式运行。它计算该表达式的值。它不能与赋值或其他不是表达式的语句一起使用。

eval函数具有以下结构:

eval(expression, globals=None, locals=None)

表达式参数作为 Python 表达式进行分析和计算。它实际上是一个字符串表达式,而不是赋值。

参考: 这里

最新更新