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最基本的操作字典的方法
Apr 24 Python
编写Python CGI脚本的教程
Jun 29 Python
python杀死一个线程的方法
Sep 06 Python
Fabric 应用案例
Aug 28 Python
Python性能提升之延迟初始化
Dec 04 Python
基于Python实现定时自动给微信好友发送天气预报
Oct 25 Python
Python生成器的使用方法和示例代码
Mar 04 Python
python 画条形图(柱状图)实例
Apr 24 Python
全网首秀之Pycharm十大实用技巧(推荐)
Apr 27 Python
基于tf.shape(tensor)和tensor.shape()的区别说明
Jun 30 Python
python 获取谷歌浏览器保存的密码
Jan 06 Python
PySwarms(Python粒子群优化工具包)的使用:GlobalBestPSO例子解析
Apr 05 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
php5.2 Json不能正确处理中文、GB编码的解决方法
2014/03/28 PHP
ThinkPHP打开验证码页面显示乱码的解决方法
2014/12/18 PHP
超清晰的document对象详解
2007/02/27 Javascript
jQuery写fadeTo示例代码
2014/02/21 Javascript
js简单实现标签云效果实例
2015/08/06 Javascript
window.onload使用指南
2015/09/13 Javascript
ui组件之input多选下拉实现方法(带有搜索功能)
2016/07/14 Javascript
Javascript基于jQuery UI实现选中区域拖拽效果
2016/11/25 Javascript
JS实现全屏的四种写法
2016/12/30 Javascript
微信小程序 本地存储及登录页面处理实例详解
2017/01/11 Javascript
Angularjs2不同组件间的通信实例代码
2017/05/06 Javascript
require.js中的define函数详解
2017/07/10 Javascript
JavaScript适配器模式详解
2017/10/19 Javascript
浅析Angular19 自定义表单控件
2018/01/31 Javascript
详解react native页面间传递数据的几种方式
2018/11/07 Javascript
微信小程序实现同一页面取值的方法分析
2019/04/30 Javascript
微信小程序实现Session功能及无法获取session问题的解决方法
2019/05/07 Javascript
webpack4 配置 ssr 环境遇到“document is not defined”
2019/10/24 Javascript
Element中Slider滑块的具体使用
2020/07/29 Javascript
python连接sql server乱码的解决方法
2013/01/28 Python
python中requests模块的使用方法
2015/04/08 Python
Python3实现Web网页图片下载
2016/01/28 Python
python3+selenium实现126邮箱登陆并发送邮件功能
2019/01/23 Python
wxPython实现列表增删改查功能
2019/11/19 Python
keras .h5转移动端的.tflite文件实现方式
2020/05/25 Python
使用Django的JsonResponse返回数据的实现
2021/01/15 Python
Kipling凯浦林美国官网:世界著名时尚休闲包袋品牌
2016/08/24 全球购物
瑞典耳机品牌:URBANISTA
2019/12/03 全球购物
《夜晚的实验》教学反思
2014/02/19 职场文书
教师自我鉴定范文
2014/03/20 职场文书
学习党章的体会
2014/11/07 职场文书
学生会部长竞选稿
2015/11/19 职场文书
致毕业季:你如何做好自己的职业生涯规划书?
2019/07/01 职场文书
css position fixed 左右双定位的实现代码
2021/04/29 HTML / CSS
Vue elementUI表单嵌套表格并对每行进行校验详解
2022/02/18 Vue.js
SpringCloud Function SpEL注入漏洞分析及环境搭建
2022/04/08 Java/Android