我知道函数eval在没有引号的情况下执行字符串(在参数中)。所以我刚刚尝试的是那个
x=eval("4*5") #this works
eval("x=4*5") #but this doesn't
请告诉我哪里错了!
答案 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