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 相关文章推荐
Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法
Apr 23 Python
Python开发SQLite3数据库相关操作详解【连接,查询,插入,更新,删除,关闭等】
Jul 27 Python
python添加模块搜索路径方法
Sep 11 Python
深入理解Python中range和xrange的区别
Nov 26 Python
Python之用户输入的实例
Jun 22 Python
对python判断是否回文数的实例详解
Feb 08 Python
利用Python实现微信找房机器人实例教程
Mar 10 Python
Python qrcode 生成一个二维码的实例详解
Feb 12 Python
Python脚本如何在bilibili中查找弹幕发送者
Jun 04 Python
Python计算信息熵实例
Jun 18 Python
使用 prometheus python 库编写自定义指标的方法(完整代码)
Jun 29 Python
Python实现小黑屋游戏的完整实例
Jan 06 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
php中将网址转换为超链接的函数
2011/09/02 PHP
php模拟js函数unescape的函数代码
2012/10/20 PHP
php的curl封装类用法实例
2014/11/07 PHP
浅谈关于PHP解决图片无损压缩的问题
2017/09/01 PHP
tp5递归 无限级分类详解
2019/10/18 PHP
thinkphp5实现微信扫码支付
2019/12/23 PHP
JavaScript 语言的递归编程
2010/05/18 Javascript
js单例模式的两种方案
2013/10/22 Javascript
javascript去掉前后空格的实例
2013/11/07 Javascript
jquery 显示*天*时*分*秒实现时间计时器
2014/05/07 Javascript
处理文本部分内容的TextRange对象应用实例
2014/07/29 Javascript
随鼠标移动的时钟非常漂亮遗憾的是只支持IE
2014/08/12 Javascript
Angularjs编写KindEditor,UEidtor,jQuery指令
2015/01/28 Javascript
JavaScript判断页面加载完之后再执行预定函数的技巧
2016/05/17 Javascript
Bootstrap中定制LESS-颜色及导航条(推荐)
2016/11/21 Javascript
微信小程序Redux绑定实例详解
2017/06/07 Javascript
jQuery的时间datetime控件在AngularJs中的使用实例(分享)
2017/08/17 jQuery
VUE饿了么树形控件添加增删改功能的示例代码
2017/10/17 Javascript
微信小程序实现流程进度的图样式功能
2018/01/16 Javascript
vue短信验证性能优化如何写入localstorage中
2018/04/25 Javascript
三剑客:offset、client和scroll还傻傻分不清?
2020/12/04 Javascript
[04:26]2014DOTA2国际邀请赛-Newbee顺利进入胜者组决赛 独家专访战神7
2014/07/19 DOTA
[01:31:03]DOTA2完美盛典全回顾 见证十五项大奖花落谁家
2017/11/28 DOTA
C#返回当前系统所有可用驱动器符号的方法
2015/04/18 Python
python 中的list和array的不同之处及转换问题
2018/03/13 Python
Python实现的远程登录windows系统功能示例
2018/06/21 Python
简单聊聊H5的pushState与replaceState的用法
2018/04/03 HTML / CSS
欧洲品牌瓷器餐具网上商店:Porzellantreff.de
2018/04/04 全球购物
彪马西班牙官网:PUMA西班牙
2019/06/18 全球购物
德国户外装备、登山运动和攀岩商店:tapir store
2020/02/12 全球购物
实习教师自我鉴定
2013/09/27 职场文书
违反校纪校规检讨书
2014/02/15 职场文书
小学优秀辅导员事迹材料
2014/05/11 职场文书
小学生国庆65周年演讲稿范文(2篇)
2014/09/21 职场文书
财务负责人岗位职责
2015/02/03 职场文书
《神奇的鸟岛》教学反思
2016/02/22 职场文书