我刚刚运行了一些我为学习练习编写的代码而突然遇到错误"语法错误:语法错误",来自eval("alist += [foo]")
。试着理解我刚刚制作了一个简单的模块:
a = 5
eval("a += 1")
print(a)
实际上它也会出现同样的错误,即使我刚刚将前两行直接运行到Python控制台中也是如此。现在我只做了几天Python,所以我不是专家,但我99%肯定这应该有用。 a+=1
有效。 exec("a+=1")
有效。但是eval("a+=1")
没有,eval("a-=1")
也没有。
我做错了吗? eval()
不应该具有此+=
功能吗?其他人是否能够做到这一点,而且我自己的Python存在一些问题?我有一些非常奇怪的设置吗?
答案 0 :(得分:1)
eval()
的第一个参数必须是代码对象或表达式。 Python中的赋值是语句。