>>exec("print(\"hello, ; 更新日期:2024/11/30,互联网资源,高清电影,韩剧美剧,动漫资讯,游戏教程,序列号,破解版,注册机,绿色版,教程网,王者荣耀,SEO教程,网络教程,运营推广,下载中心,破解软件,游戏软件,网站源码,易语言源码,安卓软件,QQ软件,汉化版,无损音乐,MKV,WAV+CUE,FLAC,HQCD,MP3,SACD,DSD,抖音,4K高清,320k,度盘,百度云盘,蓝奏,微云盘,网盘,无广告纯净版,不限速下载,去广告,VIP解析,49" />
脚本专栏 
首页 > 脚本专栏 > 浏览文章

Python中的exec、eval使用实例

(编辑:jimmy 日期: 2024/11/30 浏览:3 次 )

通过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之dict()的操作方法
下一篇:Python单链表的简单实现方法
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 网站地图 SiteMap