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


Posted in Python onOctober 18, 2015

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还是False又或者是什么东西。但它本身是没有影响当前代码环境的能力的。如果我们想用来进行赋值,那么应该使用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提供动态的代码执行功能。

Python 相关文章推荐
Scrapy抓取京东商品、豆瓣电影及代码分享
Nov 23 Python
儿童编程python入门
May 08 Python
解析Python的缩进规则的使用
Jan 16 Python
python实现画五角星和螺旋线的示例
Jan 20 Python
利用Python的sympy包求解一元三次方程示例
Nov 22 Python
pytorch 状态字典:state_dict使用详解
Jan 17 Python
tensorflow实现训练变量checkpoint的保存与读取
Feb 10 Python
python编写俄罗斯方块
Mar 13 Python
django在开发中取消外键约束的实现
May 20 Python
Python把图片转化为pdf代码实例
Jul 28 Python
python 检测图片是否有马赛克
Dec 01 Python
整理Python中常用的conda命令操作
Jun 15 Python
在arcgis使用python脚本进行字段计算时是如何解决中文问题的
Oct 18 #Python
详解使用Python处理文件目录的相关方法
Oct 16 #Python
详解在Python程序中自定义异常的方法
Oct 16 #Python
Python编程中的文件操作攻略
Oct 16 #Python
详解Python编程中包的概念与管理
Oct 16 #Python
解读Python编程中的命名空间与作用域
Oct 16 #Python
Python中的模块导入和读取键盘输入的方法
Oct 16 #Python
You might like
如何在PHP中使用Oracle数据库(2)
2006/10/09 PHP
php中截取中文字符串的代码小结
2011/07/17 PHP
php+MySQL判断update语句是否执行成功的方法
2014/08/28 PHP
PHP动态柱状图实现方法
2015/03/30 PHP
php使用socket post数据到其它web服务器的方法
2015/06/02 PHP
通过js动态操作table(新增,删除相关列信息)
2012/05/23 Javascript
Jquery Ajax解析XML数据(同步及异步调用)简单实例
2014/02/12 Javascript
jQuery实现点击该行即可删除HTML表格行
2014/10/17 Javascript
js实现动画特效的文字链接鼠标悬停提示的方法
2015/03/02 Javascript
JavaScript中的DSL元编程介绍
2015/03/15 Javascript
基于javascript实现漂亮的页面过渡动画效果附源码下载
2015/10/26 Javascript
JS获取当前脚本文件的绝对路径
2016/03/02 Javascript
JS实现n秒后自动跳转的两种方法
2020/11/30 Javascript
js实现精确到毫秒的倒计时效果
2016/08/05 Javascript
JS取数字小数点后两位或n位的简单方法
2016/10/24 Javascript
js控制按钮,防止频繁点击响应的实例
2017/02/15 Javascript
BootStrap 页签切换失效的解决方法
2017/08/17 Javascript
使用Sonarqube扫描Javascript代码的示例
2018/12/26 Javascript
elementUI 动态生成几行几列的方法示例
2019/07/11 Javascript
[02:34]肉山说——泡妞篇
2014/09/16 DOTA
Swift 3.0在集合类数据结构上的一些新变化总结
2016/07/11 Python
Python 正则表达式的高级用法
2016/12/04 Python
关于python的bottle框架跨域请求报错问题的处理方法
2017/03/19 Python
python找出完数的方法
2018/11/12 Python
20行python代码的入门级小游戏的详解
2019/05/05 Python
新手入门Python编程的8个实用建议
2019/07/12 Python
Python urllib.request对象案例解析
2020/05/11 Python
python 5个顶级异步框架推荐
2020/09/09 Python
西班牙家用电器和电子产品购物网站:Mi Electro
2019/02/25 全球购物
英国信箱在线鲜花速递公司:Bloom & Wild
2019/03/10 全球购物
人力资源管理毕业求职信
2014/08/05 职场文书
纺织工程专业推荐信
2014/09/08 职场文书
会议主持词结束语
2015/07/03 职场文书
婚礼上证婚人致辞
2015/07/28 职场文书
2017年大学生寒假社会实践活动总结
2016/04/06 职场文书
python实现黄金分割法的示例代码
2021/04/28 Python