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中xrange和range的区别
May 13 Python
Python中的多重装饰器
Apr 11 Python
Python捕捉和模拟鼠标事件的方法
Jun 03 Python
Python批量创建迅雷任务及创建多个文件
Feb 13 Python
Python numpy实现数组合并实例(vstack,hstack)
Jan 09 Python
详解python OpenCV学习笔记之直方图均衡化
Feb 08 Python
python中验证码连通域分割的方法详解
Jun 04 Python
Python3的socket使用方法详解
Feb 18 Python
python算的上脚本语言吗
Jun 22 Python
python help函数实例用法
Dec 06 Python
VSCode中autopep8无法运行问题解决方案(提示Error: Command failed,usage)
Mar 02 Python
Python+Tkinter打造签名设计工具
Apr 01 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编程开发“虚拟域名”系统
2006/10/09 PHP
PHP简单处理表单输入的特殊字符的方法
2016/02/03 PHP
php投票系统之增加与删除投票(管理员篇)
2016/07/01 PHP
addRule在firefox下的兼容写法
2006/11/30 Javascript
基于jquery的禁用右键、文本选择功能、复制按键的实现代码
2013/08/27 Javascript
javascript实现的一个随机点名功能
2014/08/26 Javascript
JS实现的用来对比两个用指定分隔符分割的字符串是否相同
2014/09/19 Javascript
JQuery中extend的用法实例分析
2015/02/08 Javascript
浅析创建javascript对象的方法
2016/05/13 Javascript
jquery 判断selection range 是否在容器中的简单实例
2016/08/02 Javascript
完美解决spring websocket自动断开连接再创建引发的问题
2017/03/02 Javascript
Vue计算属性的学习笔记
2017/03/22 Javascript
js自定义Tab选项卡效果
2017/06/05 Javascript
JavaScript中的FileReader图片预览上传功能实现代码
2017/07/24 Javascript
VueRouter导航守卫用法详解
2017/12/25 Javascript
20个最常见的jQuery面试问题及答案
2018/05/23 jQuery
原生JS无缝滑动轮播图
2019/10/22 Javascript
小程序简单两栏瀑布流效果的实现
2019/12/18 Javascript
koa中间件核心(koa-compose)源码解读分析
2020/06/15 Javascript
Vue 实现一个简单的鼠标拖拽滚动效果插件
2020/12/10 Vue.js
介绍Python中的__future__模块
2015/04/27 Python
Python使用QQ邮箱发送Email的方法实例
2017/02/09 Python
python绘制铅球的运行轨迹代码分享
2017/11/14 Python
用python实现的线程池实例代码
2018/01/06 Python
Python实现的NN神经网络算法完整示例
2018/06/19 Python
详解Django项目中模板标签及模板的继承与引用(网站中快速布置广告)
2019/03/27 Python
python进程池实现的多进程文件夹copy器完整示例
2019/11/27 Python
管理站站长岗位职责
2013/11/27 职场文书
应聘收银员个人的求职信
2013/11/30 职场文书
自荐书4要点
2014/01/25 职场文书
公司活动总结范文
2014/07/01 职场文书
2014年最新领导班子整改方案
2014/09/27 职场文书
学生检讨书范文
2014/10/30 职场文书
繁星春水读书笔记
2015/06/30 职场文书
Python数据分析入门之数据读取与存储
2021/05/13 Python
MySQL中utf8mb4排序规则示例
2021/08/02 MySQL