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 相关文章推荐
python2.7+selenium2实现淘宝滑块自动认证功能
Feb 24 Python
python使用opencv按一定间隔截取视频帧
Mar 06 Python
matlab中实现矩阵删除一行或一列的方法
Apr 04 Python
Python 统计字数的思路详解
May 08 Python
Numpy中矩阵matrix读取一列的方法及数组和矩阵的相互转换实例
Jul 02 Python
python之Flask实现简单登录功能的示例代码
Dec 24 Python
python制作填词游戏步骤详解
May 05 Python
python自动保存百度盘资源到百度盘中的实例代码
Aug 26 Python
解决python replace函数替换无效问题
Jan 18 Python
Python pip install如何修改默认下载路径
Apr 29 Python
Django返回HTML文件的实现方法
Sep 17 Python
基于Python的图像阈值化分割(迭代法)
Nov 20 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
如何实现给定日期的若干天以后的日期
2006/10/09 PHP
使PHP自定义函数返回多个值
2006/11/26 PHP
PHP中SimpleXML函数用法分析
2014/11/26 PHP
php实现多维数组中每个单元值(数字)翻倍的方法
2015/02/16 PHP
php通过function_exists检测函数是否存在的方法
2015/03/18 PHP
php将日期格式转换成xx天前的格式
2015/04/16 PHP
PHP的关于变量和日期处理的一些面试题目整理
2015/08/10 PHP
针对多用户实现头像上传功能PHP代码 适用于登陆页面制作
2016/08/17 PHP
PHP Class SoapClient not found解决方法
2018/01/20 PHP
php两点地理坐标距离的计算方法
2018/12/29 PHP
php7新特性的理解和比较总结
2019/04/14 PHP
PHP实现的AES 128位加密算法示例
2019/09/16 PHP
Extjs EditorGridPanel中ComboBox列的显示问题
2011/07/04 Javascript
异步javascript的原理和实现技巧介绍
2012/11/08 Javascript
JS中产生20位随机数以0-9为例也可以是a-z A-Z
2014/08/01 Javascript
jQuery实现将页面上HTML标签换成另外标签的方法
2015/06/09 Javascript
php利用curl获取远程图片实现方法
2015/10/26 Javascript
快速掌握Node.js中setTimeout和setInterval的使用方法
2016/03/21 Javascript
jQuery UI 实例讲解 - 日期选择器(Datepicker)
2017/09/18 jQuery
浅析Visual Studio Code断点调试Vue
2018/02/27 Javascript
Node.js 实现远程桌面监控的方法步骤
2019/07/02 Javascript
基于Vue 撸一个指令实现拖拽功能
2019/10/09 Javascript
[32:07]完美世界DOTA2联赛PWL S3 LBZS vs Rebirth 第一场 12.16
2020/12/17 DOTA
在Python中使用poplib模块收取邮件的教程
2015/04/29 Python
Windows系统下多版本pip的共存问题详解
2017/10/10 Python
python3学习之Splash的安装与实例教程
2018/07/09 Python
Django User 模块之 AbstractUser 扩展详解
2020/03/11 Python
websocket+sockjs+stompjs详解及实例代码
2018/11/30 HTML / CSS
详解通过变换矩阵实现canvas的缩放功能
2019/01/14 HTML / CSS
仓库主管的岗位职责
2013/12/04 职场文书
会计专业的自荐信
2013/12/12 职场文书
售后服务承诺书
2014/03/26 职场文书
活动总结格式
2014/08/30 职场文书
教师个人年度总结
2015/02/11 职场文书
自信主题班会
2015/08/14 职场文书
python中的None与NULL用法说明
2021/05/25 Python