ermutuxia

2020-12-18   阅读量: 2907

Python

SyntaxError: can't assign to function call

扫码加入数据分析学习群

我在调用eval函数的时候出现错误提示。

我写的代码如下:

i=0

j=0

eval("name_"+str(i)+"_"+str(j))=10

我的意思是通过eval函数,生成变量name_0_0,让这个变量取值为10。也就是把一个字符串设定为一个变量的名字,并且给这个变量赋值。

但执行代码时出现错误提示:

i=0

j=0

eval("name_"+str(i)+"_"+str(j))=10

File "<ipython-input-493-9a94cf4491cf>", line 3

eval("name_"+str(i)+"_"+str(j))=10

^

SyntaxError: can't assign to function call

(我记得以前是可以的,但现在不可以,具体也不知道为什么,看了下eval的帮助文件也没有看出什么端倪来,可能是函数功能变了)看来这样做是行不通的,如果想实现我的目的该怎么做呢。我们改成下面的命令就可以了。

i=0

j=0

globals()["name_"+str(i)+"_"+str(j)]=10 #这样就没有错误提示了

到此就完美解决了


经验总结:eval不能用在赋值符号'=’的左边。如果用在左边就会有错误提示SyntaxError: can't assign to function call

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
0.4127 2 0 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子