使用eval函数

时间:2017-08-26 11:23:20

标签: python python-2.7 python-3.x

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

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

请告诉我哪里错了!

4 个答案:

答案 0 :(得分:1)

使用

exec('x=4*5')

eval仅评估表达式而非评估。

答案 1 :(得分:1)

4*5表达式,其值为20

x=4*5不是表达式,也没有值。这是一个声明,意味着它会执行一个动作。

答案 2 :(得分:1)

eval()将其字符串参数作为python表达式运行。它评估该表达式的值。它不能用于赋值或其他非表达式的语句。

答案 3 :(得分:1)

eval函数具有以下结构:

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

表达式参数被解析并作为Python表达式进行求值。它实际上是一个字符串表达式而不是赋值。

参考:Here