python学习笔记之调用eval函数出现invalidsyntax错误问题

更新时间:2023-05-07 03:20:02 阅读: 评论:0

python学习笔记之调⽤eval函数出现invalidsyntax错误问
pytho的使⽤和分发完全是免费的,它是⼀种⾯向对象的语⾔,它的。它的类模块⽀持多态,操作符重载和多重继承等⾼级概念,并且以python特有的简洁的语法和类型,OOP⼗分易于使⽤。python内置了众多预编译并可移植的功能模块,这些功能模块叫做标准库(standard library)。python可以调⽤C和C++的库,可以被C和C++的程序调⽤,可以与java组件集成,可以和COM和.Net等框架进⾏通信,并且可以通过SOAP、XML-RPC和CORBA等接⼝与⽹络进⾏交互,所以,python绝不仅仅是⼀个独⽴的⼯具。
本来是想打算使⽤eval函数对变量进⾏赋值的,没想到出现了invalid syntax错误。源代码如下
In [2]: eval('a = 1')
File "<string>", line 1
a = 1
^
SyntaxError: invalid syntax
  百度没百度到结果,最后在stackoverflow上找到了好的答案.
  作者的意思是,eval函数只负责对表达式进⾏处理,并没有赋值的功能,也就是说,eval函数只负责对你的输⼊进⾏输出,True还是Fal⼜或者是什么东西。但它本⾝是没有影响当前代码环境的能⼒的。如果我们想⽤来进⾏赋值,那么应该使⽤exec()函数。看代码:
In [3]: exec('a = 1')
In [4]: a
Out[4]: 1
  问题的解决⽅案已经供出了,那么我们现在再看看官⽅⽂档对这两个函数怎么说。
eval(expression, global=None, local=None)
参数是字符串和可选的global和local。global应当为⼀个字典⽂件,local应为⼀个映射对象。
  expression参数将被处理为⼀个python的表达式(严格来说,是⼀串条件语句),global和local参数
将被⽤来当做全局和局部的命名空间。
exec(object[,global,[locals])
  这个函数能够为python提供动态的代码执⾏功能。

本文发布于:2023-05-07 03:20:02,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/545008.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:函数   功能模块   代码   赋值   没有   解决   局部
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图