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 相关文章推荐
用Python实现随机森林算法的示例
Aug 24 Python
python机器学习之神经网络(二)
Dec 20 Python
Python做智能家居温湿度报警系统
Sep 25 Python
Flask框架请求钩子与request请求对象用法实例分析
Nov 07 Python
Python模块_PyLibTiff读取tif文件的实例
Jan 13 Python
Python API len函数操作过程解析
Mar 05 Python
python deque模块简单使用代码实例
Mar 12 Python
使用Python实现批量ping操作方法
May 06 Python
解决Pytorch自定义层出现多Variable共享内存错误问题
Jun 28 Python
Python 调用 ES、Solr、Phoenix的示例代码
Nov 23 Python
解决pytorch 损失函数中输入输出不匹配的问题
Jun 05 Python
Python基本数据类型之字符串str
Jul 21 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 json_encode奇怪问题说明
2011/09/27 PHP
php中sprintf与printf函数用法区别解析
2014/02/17 PHP
一漂亮的PHP图片验证码实例
2014/03/21 PHP
php时间戳转换的示例
2014/03/31 PHP
Jquery调用webService远程访问出错的解决方法
2010/05/21 Javascript
基于jquery tab切换(防止页面刷新)
2012/05/23 Javascript
用html5 js实现点击一个按钮达到浏览器全屏效果
2014/05/28 Javascript
百度地图api如何使用
2015/08/03 Javascript
使用EVAL处理jqchart jquery 折线图返回数据无效的解决办法
2015/11/26 Javascript
详解使用fetch发送post请求时的参数处理
2017/04/05 Javascript
利用Vue实现移动端图片轮播组件的方法实例
2017/08/23 Javascript
Vuejs 单文件组件实例详解
2018/02/09 Javascript
JQuery选中select组件被选中的值方法
2018/03/08 jQuery
atom-design(Vue.js移动端组件库)手势组件使用教程
2019/05/16 Javascript
微信小程序基于高德地图API实现天气组件(动态效果)
2020/10/22 Javascript
antd vue table跨行合并单元格,并且自定义内容实例
2020/10/28 Javascript
[02:17]2016国际邀请赛中国区预选赛VG战队领队采访
2016/06/26 DOTA
[01:20]PWL S2开团时刻第三期——团战可以输 蝙蝠必须死
2020/11/26 DOTA
在ironpython中利用装饰器执行SQL操作的例子
2015/05/02 Python
Python实现PS滤镜的旋转模糊功能示例
2018/01/20 Python
Python实现曲线拟合操作示例【基于numpy,scipy,matplotlib库】
2018/07/12 Python
Python 获取windows桌面路径的5种方法小结
2019/07/15 Python
python画蝴蝶曲线图的实例
2019/11/21 Python
python快速排序的实现及运行时间比较
2019/11/22 Python
Python搭建HTTP服务过程图解
2019/12/14 Python
浅谈Python 钉钉报警必备知识系统讲解
2020/08/17 Python
python实现KNN近邻算法
2020/12/30 Python
世界上最大的专业美容用品零售商:Sally Beauty
2017/07/02 全球购物
加拿大高尔夫超市:Golf Town
2018/01/12 全球购物
新英格兰最大的特色礼品连锁店:The Paper Store
2018/07/23 全球购物
机电一体化求职信
2014/03/10 职场文书
网聊搭讪开场白
2015/05/28 职场文书
趣味运动会新闻稿
2015/07/17 职场文书
简历自我评价:教师师德表现自我评价
2019/04/24 职场文书
golang 实现Location跳转方式
2021/05/02 Golang
Mysql实现简易版搜索引擎的示例代码
2021/08/30 MySQL