Python中的exec、eval使用实例
作者:iCode0410 时间:2022-07-05 21:01:41
通过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,exec,eval
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
php将12小时制转换成24小时制的方法
2023-11-21 15:56:08
Oracle数据库逻辑备份的SH文件
2010-07-27 13:26:00
PHP与Web页面交互操作实例分析
2023-09-05 14:43:16
![](https://img.aspxhome.com/file/2023/4/55604_0s.png)
python实现的分析并统计nginx日志数据功能示例
2023-07-30 20:08:15
浅谈web分析
2008-12-02 15:52:00
![](https://img.aspxhome.com/file/UploadPic/200812/2/03-35.jpg)
Python pexpect模块及shell脚本except原理解析
2022-11-10 18:52:04
在Asp程序中取得表单所有内容的方法
2010-04-24 16:07:00
当标题不能显示完整的时候
2007-11-20 13:23:00
Python decorator拦截器代码实例解析
2022-04-07 11:03:47
微信小程序wxml列表渲染原理解析
2023-07-17 14:28:08
mysql到oracle的移植
2011-01-29 16:23:00
PHP与MySQL开发中页面乱码的产生与解决
2023-10-03 04:10:08
网页对联广告代码效果大全
2007-10-25 23:16:00
Oracle 数据库中创建合理的数据库索引
2009-07-02 12:31:00
详解Go语言Slice作为函数参数的使用
2023-07-16 11:30:20
编写一个JS组件来说说call和apply的用法
2008-11-23 17:11:00
使用css给图片添加阴影入门篇
2009-07-06 14:38:00
设计的商业价值
2009-08-13 14:43:00
MySQL表设计优化与索引 (六)
2010-10-25 19:53:00
深入理解Python装饰器
2023-11-05 13:01:43