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中dictionary items()系列函数的用法实例
Aug 21 Python
Python中Collections模块的Counter容器类使用教程
May 31 Python
Python基于动态规划算法解决01背包问题实例
Dec 06 Python
python绘制条形图方法代码详解
Dec 19 Python
Python利用正则表达式实现计算器算法思路解析
Apr 25 Python
Python根据服务获取端口号的方法
Sep 25 Python
python实现逢七拍腿小游戏的思路详解
May 26 Python
python中的测试框架
Nov 13 Python
python基于win32api实现键盘输入
Dec 09 Python
如何编写python的daemon程序
Jan 07 Python
解决PDF 转图片时丢文字的一种可能方式
Mar 04 Python
Python实战之疫苗研发情况可视化
May 18 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
人族 Terran 基本策略
2020/03/14 星际争霸
服务器web工具 php环境下
2010/12/29 PHP
用PHP实现 上一篇、下一篇的代码
2012/09/29 PHP
ThinkPHP多语言支持与多模板支持概述
2014/08/22 PHP
PHP实现获取域名的方法小结
2014/11/05 PHP
PHP文件上传之多文件上传的实现思路
2016/01/27 PHP
基于jQuery的倒计时插件代码
2011/05/07 Javascript
JavaScript中获取鼠标位置相关属性总结
2014/10/11 Javascript
jQuery使用empty()方法删除元素及其所有子元素的方法
2015/03/26 Javascript
javascript中去除数组重复元素的实现方法【实例】
2016/04/12 Javascript
EasyUI的doCellTip实现鼠标放到单元格上提示单元格内容
2016/08/24 Javascript
前端js实现文件的断点续传 后端PHP文件接收
2016/10/14 Javascript
使用JSON作为函数的参数的优缺点
2016/10/27 Javascript
基于jquery实现二级联动效果
2017/03/30 jQuery
nodejs Assert中equal(),strictEqual(),deepEqual(),strictDeepEqual()比较
2017/09/18 NodeJs
vue基于mint-ui的城市选择3级联动的示例
2017/10/25 Javascript
jQuery中each方法的使用详解
2018/03/18 jQuery
Vue中在新窗口打开页面及Vue-router的使用
2018/06/13 Javascript
puppeteer库入门初探
2019/01/09 Javascript
JS添加或删除HTML dom元素的方法实例分析
2019/03/05 Javascript
vue 组件销毁并重置的实现
2020/01/13 Javascript
Node.js操作MongoDB数据库实例分析
2020/01/19 Javascript
vue3.0 加载json的方法(非ajax)
2020/10/26 Javascript
[05:53]完美世界携手游戏风云打造 卡尔工作室观战系统篇
2013/04/22 DOTA
利用python绘制正态分布曲线
2021/01/04 Python
Html5 video标签视频的最佳实践
2020/02/26 HTML / CSS
UGG雪地靴德国官网:UGG德国
2016/11/19 全球购物
男方父母证婚词
2014/01/12 职场文书
告诉你怎样写创业计划书
2014/01/27 职场文书
科技开发中心办公室主任岗位责任制
2014/02/10 职场文书
投资合作协议书范本
2014/04/17 职场文书
国际贸易毕业生自荐书
2014/06/22 职场文书
男方婚前保证书
2015/02/28 职场文书
2015大学生暑假调查报告
2015/07/13 职场文书
大学生先进个人主要事迹材料
2015/11/04 职场文书
Oracle 数据仓库ETL技术之多表插入语句的示例详解
2021/04/12 Oracle