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根据文件大小打log日志
Oct 09 Python
浅析Python中的多重继承
Apr 28 Python
Python文件的读写和异常代码示例
Oct 31 Python
python中文编码与json中文输出问题详解
Aug 24 Python
对Python3.x版本print函数左右对齐详解
Dec 22 Python
python3.7实现云之讯、聚合短信平台的短信发送功能
Sep 26 Python
python DataFrame转dict字典过程详解
Dec 26 Python
Python图像处理库PIL的ImageFont模块使用介绍
Feb 26 Python
python如何进行矩阵运算
Jun 05 Python
Python 如何在字符串中插入变量
Aug 01 Python
python实现学生信息管理系统(精简版)
Nov 27 Python
pandas按照列的值排序(某一列或者多列)
Dec 13 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中的登陆login
2007/01/18 PHP
php变量作用域的深入解析
2013/06/03 PHP
php获取网站百度快照日期的方法
2015/07/29 PHP
WordPress中获取页面链接和标题的相关PHP函数用法解析
2015/12/17 PHP
值得分享的php+ajax实时聊天室
2016/07/20 PHP
PHP递归实现文件夹的复制、删除、查看大小操作示例
2017/08/11 PHP
php获取微信openid方法总结
2019/10/10 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
2020/02/18 PHP
jQuery一步一步实现跨浏览器的可编辑表格,支持IE、Firefox、Safari、Chrome、Opera
2009/08/28 Javascript
jQuery中多个元素的Hover事件解决方案
2014/06/12 Javascript
jQuery 处理页面的事件详解
2015/01/20 Javascript
node.js [superAgent] 请求使用示例
2015/03/13 Javascript
jQuery实现鼠标经过弹出提示信息的地图热点效果
2015/08/07 Javascript
每天一篇javascript学习小结(面向对象编程)
2015/11/20 Javascript
gulp-htmlmin压缩html的gulp插件实例代码
2016/06/06 Javascript
简单模拟node.js中require的加载机制
2016/10/27 Javascript
js中的eval()函数把含有转义字符的字符串转换成Object对象的方法
2016/12/02 Javascript
基于bootstrap的选择框插件icheck
2016/12/23 Javascript
jQuery点击导航栏选中更换样式的实现代码
2017/01/23 Javascript
详谈jQuery中的一些正则匹配表达式
2017/03/08 Javascript
React 组件中的 bind(this)示例代码
2018/09/16 Javascript
Layui 导航默认展开和菜单栏选中高亮设置的方法
2019/09/04 Javascript
在CMD命令行中运行python脚本的方法
2018/05/12 Python
python3读取excel文件只提取某些行某些列的值方法
2018/07/10 Python
python读取各种文件数据方法解析
2018/12/29 Python
Django uwsgi Nginx 的生产环境部署详解
2019/02/02 Python
python+rsync精确同步指定格式文件
2019/08/29 Python
python爬虫学习笔记之pyquery模块基本用法详解
2020/04/09 Python
如何用Python编写一个电子考勤系统
2021/02/08 Python
CSS3实现可翻转的hover效果
2018/05/23 HTML / CSS
运动会跳远广播稿
2014/02/04 职场文书
2014元旦晚会策划方案
2014/02/19 职场文书
大学生学习面向未来的赶考思想汇报
2014/09/12 职场文书
2015年党员个人自我评价
2015/03/03 职场文书
大学毕业典礼致辞
2015/07/29 职场文书
【海涛教你打DOTA】黑鸟第一视角解说
2022/04/01 DOTA