Python中的exec、eval使用實(shí)例
通過(guò)exec可以執(zhí)行動(dòng)態(tài)Python代碼,類(lèi)似Javascript的eval功能;而Python中的eval函數(shù)可以計(jì)算Python表達(dá)式,并返回結(jié)果(exec不返回結(jié)果,print(eval("…"))打印None);
>>> exec("print(\"hello, world\")")
hello, world
>>> a = 1
>>> exec("a = 2")
>>> a
2
這里有個(gè)scope(命名空間,作用域)的概念,為了不破壞現(xiàn)在的scope,可以新建一個(gè)scope(一個(gè)字典)執(zhí)行exec(Javascript沒(méi)有此功能):
>>> scope = {}
>>> exec("a = 4", scope)
>>> a
2
>>> scope['a']
4
>>> scope.keys()
dict_keys(['a', '__builtins__'])
__builtins__包含了所有的內(nèi)建函數(shù)和值;
而普通的{}不會(huì)包含__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
相關(guān)文章
淺談Python3.10 和 Python3.9 之間的差異
多年來(lái),Python 進(jìn)行了大量升級(jí),并且在新版本中添加了許多功能。本文就詳細(xì)的介紹 一下Python3.10 和 Python3.9差異,感興趣的朋友可以了解一下2021-09-09Python 對(duì)輸入的數(shù)字進(jìn)行排序的方法
今天小編就為大家分享一篇Python 對(duì)輸入的數(shù)字進(jìn)行排序的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5窗口控件QWidget詳細(xì)使用方法
這篇文章主要介紹了python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5窗口控件QWidget詳細(xì)使用方法,需要的朋友可以參考下2020-02-02Python詳細(xì)講解圖像處理的而兩種庫(kù)OpenCV和Pillow
這篇文章介紹了Python使用OpenCV與Pillow分別進(jìn)行圖像處理的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06Python可視化mhd格式和raw格式的醫(yī)學(xué)圖像并保存的方法
今天小編就為大家分享一篇Python可視化mhd格式和raw格式的醫(yī)學(xué)圖像并保存的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01Python中的shape[0]、shape[1]和shape[-1]使用方法
shape函數(shù)是Numpy中的函數(shù),它的功能是讀取矩陣的長(zhǎng)度,比如shape[0]就是讀取矩陣第一維度的長(zhǎng)度,這篇文章主要介紹了Python中的shape[0]、shape[1]和shape[-1]使用方法,需要的朋友可以參考下2023-07-07Python利用matplotlib做圖中圖及次坐標(biāo)軸的實(shí)例
今天小編就為大家分享一篇Python利用matplotlib做圖中圖及次坐標(biāo)軸的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07Python常見(jiàn)數(shù)字運(yùn)算操作實(shí)例小結(jié)
這篇文章主要介紹了Python常見(jiàn)數(shù)字運(yùn)算操作,結(jié)合實(shí)例形式總結(jié)分析了Python數(shù)字常見(jiàn)的四則運(yùn)算、整除、取余、開(kāi)平方等相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2019-03-03

python 單線(xiàn)程和異步協(xié)程工作方式解析