Python中的exec、eval使用实例


Posted in Python onSeptember 23, 2014

通过exec可以执行动态Python代码,类似Javascript的eval功能;而Python中的eval函数可以计算Python表达式,并返回结果(exec不返回结果,print(eval("…"))打印None);

   

>>> exec("print(\"hello, world\")")

hello, world
>>> a = 1

>>> exec("a = 2")

>>> a

2

这里有个scope(命名空间,作用域)的概念,为了不破坏现在的scope,可以新建一个scope(一个字典)执行exec(Javascript没有此功能):

>>> scope = {}

>>> exec("a = 4", scope)

>>> a

2

>>> scope['a']

4

   

>>> scope.keys()

dict_keys(['a', '__builtins__'])

__builtins__包含了所有的内建函数和值;

而普通的{}不会包含__builtins__

>>> a = {}

>>> a.keys()

dict_keys([])

同exec一样,eval也可以使用命名空间:

>>> result = eval('2+3')

>>> result

5

>>> scope={}

>>> scope['a'] = 3

>>> scope['b'] = 4

>>> result = eval('a+b',scope)

>>> result

7
Python 相关文章推荐
Python中的Matplotlib模块入门教程
Apr 15 Python
Python中的一些陷阱与技巧小结
Jul 10 Python
Django框架下在URLconf中指定视图缓存的方法
Jul 23 Python
Python如何实现文本转语音
Aug 08 Python
Python与Java间Socket通信实例代码
Mar 06 Python
机器学习的框架偏向于Python的13个原因
Dec 07 Python
Python安装pycurl失败的解决方法
Oct 15 Python
Python使用循环神经网络解决文本分类问题的方法详解
Jan 16 Python
python开发实例之Python的Twisted框架中Deferred对象的详细用法与实例
Mar 19 Python
python IDLE添加行号显示教程
Apr 25 Python
Python如何输出百分比
Jul 31 Python
Python生成并下载文件后端代码实例
Aug 31 Python
Python的高级Git库 Gittle
Sep 22 #Python
Python实现抓取网页并且解析的实例
Sep 20 #Python
跟老齐学Python之字典,你还记得吗?
Sep 20 #Python
跟老齐学Python之再深点,更懂list
Sep 20 #Python
跟老齐学Python之画圈还不简单吗?
Sep 20 #Python
跟老齐学Python之list和str比较
Sep 20 #Python
Python显示进度条的方法
Sep 20 #Python
You might like
桌面中心(二)数据库写入
2006/10/09 PHP
ThinkPHP采用原生query实现关联查询left join实例
2014/12/02 PHP
php ZipArchive实现多文件打包下载实例
2019/10/31 PHP
php实现微信小程序授权登录功能(实现流程)
2019/11/13 PHP
用JS操作FRAME中的IFRAME及其内容的实现代码
2008/07/26 Javascript
JavaScript 全面解析各种浏览器网页中的JS 执行顺序
2009/02/17 Javascript
javascript实现图片切换的幻灯片效果源代码
2012/12/12 Javascript
JavaScript解析URL参数示例代码
2013/08/12 Javascript
JS复制到剪贴板示例代码
2013/10/30 Javascript
jquery实现动态画圆
2014/12/04 Javascript
Bootstrap源码学习笔记之bootstrap进度条
2016/12/24 Javascript
微信小程序 UI与容器组件总结
2017/02/21 Javascript
深入理解Vue2.x的虚拟DOM diff原理
2017/09/27 Javascript
Vue中的作用域CSS和CSS模块的区别
2018/10/09 Javascript
Echarts实现单条折线可拖拽效果
2019/12/19 Javascript
javascript设计模式 ? 外观模式原理与用法实例分析
2020/04/15 Javascript
JavaScript常用工具函数库汇总
2020/09/17 Javascript
详解JavaScript中的数据类型,以及检测数据类型的方法
2020/09/17 Javascript
python使用cookie库操保存cookie详解
2014/03/03 Python
Python实现115网盘自动下载的方法
2014/09/30 Python
python生成IP段的方法
2015/07/07 Python
Python原始字符串与Unicode字符串操作符用法实例分析
2017/07/22 Python
Python使用回溯法子集树模板解决爬楼梯问题示例
2017/09/08 Python
详解Matplotlib绘图之属性设置
2019/08/23 Python
MATCHESFASHION.COM法国官网:英国奢侈品零售商
2018/01/04 全球购物
Hunkemöller西班牙:欧洲最大的内衣连锁店
2018/08/15 全球购物
Java多态性的定义以及类型
2014/09/16 面试题
出纳岗位职责
2013/11/09 职场文书
六十岁生日答谢词
2014/01/10 职场文书
二年级数学教学反思
2014/01/21 职场文书
产品包装策划方案
2014/05/18 职场文书
2014年无财产无子女离婚协议书范本
2014/10/09 职场文书
学习党的群众路线教育实践活动剖析材料
2014/10/13 职场文书
爸爸的三轮车观后感
2015/06/16 职场文书
导游词之云南丽江-泸沽湖
2019/09/26 职场文书
国产动画《万圣街》日语配音版制作决定!
2022/03/20 国漫