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 相关文章推荐
wxPython窗口中文乱码解决方法
Oct 11 Python
Python的SQLAlchemy框架使用入门
Apr 29 Python
如何在Python中编写并发程序
Feb 27 Python
python通过pip更新所有已安装的包实现方法
May 19 Python
opencv python 2D直方图的示例代码
Jul 20 Python
Python3爬虫学习之应对网站反爬虫机制的方法分析
Dec 12 Python
Python设计模式之外观模式实例详解
Jan 17 Python
Python生成指定数量的优惠码实操内容
Jun 18 Python
Python基础之函数基本用法与进阶详解
Jan 02 Python
Windows系统下pycharm中的pip换源
Feb 23 Python
python对批量WAV音频进行等长分割的方法实现
Sep 25 Python
Python生成pdf目录书签的实例方法
Oct 29 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的引用原因分析
2012/09/06 PHP
php使用ZipArchive函数实现文件的压缩与解压缩
2015/10/27 PHP
在WordPress中实现评论头像的自定义默认和延迟加载
2015/11/24 PHP
既简单又安全的PHP验证码 附调用方法
2016/06/02 PHP
jQuery EasyUI 的EasyLoader功能介绍
2010/09/12 Javascript
使用javascript获取flash加载的百分比的实现代码
2011/05/25 Javascript
js 连接数据库如何操作数据库中的数据
2012/11/23 Javascript
jquery事件重复绑定的快速解决方法
2014/01/03 Javascript
node.js中的fs.appendFileSync方法使用说明
2014/12/17 Javascript
一个php+js实时显示时间问题
2015/10/12 Javascript
数据结构中的各种排序方法小结(JS实现)
2016/07/23 Javascript
针对JavaScript中this指向的简单理解
2016/08/26 Javascript
使用contextMenu插件实现Bootstrap table弹出右键菜单
2017/02/20 Javascript
js实现返回顶部效果
2017/03/10 Javascript
ES6实现的遍历目录函数示例
2017/04/07 Javascript
详解vue数据渲染出现闪烁问题
2017/06/29 Javascript
浅谈Vue.set实际上是什么
2019/10/17 Javascript
vue中keep-alive内置组件缓存的实例代码
2020/04/16 Javascript
python映射列表实例分析
2015/01/26 Python
pygame播放音乐的方法
2015/05/19 Python
Django在win10下的安装并创建工程
2017/11/20 Python
使用python实现快速搭建简易的FTP服务器
2018/09/12 Python
python打印n位数“水仙花数”(实例代码)
2019/12/25 Python
Pytorch 搭建分类回归神经网络并用GPU进行加速的例子
2020/01/09 Python
详解pandas绘制矩阵散点图(scatter_matrix)的方法
2020/04/23 Python
林清轩官方网站:山茶花润肤油开创者
2016/10/26 全球购物
StubHub西班牙:购买和出售全球活动门票
2017/06/05 全球购物
Michael Kors加拿大官网:购买设计师手袋、手表、鞋子、服装等
2019/03/16 全球购物
幼儿园托班开学寄语
2014/01/18 职场文书
公司会计主管岗位责任制
2014/03/01 职场文书
双创工作实施方案
2014/03/26 职场文书
注册资产评估专业求职信
2014/07/16 职场文书
四风问题民主生活会对照检查材料思想汇报
2014/09/27 职场文书
《孙子兵法》:欲成大事者,需读懂这些致胜策略
2019/08/23 职场文书
MySQL事务操作的四大特性以及并发事务问题
2022/04/12 MySQL
Android RecyclerView实现九宫格效果
2022/06/28 Java/Android