国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python中的exec、eval使用實例

2019-11-25 18:12:38
字體:
來源:轉載
供稿:網友

通過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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 马边| 仙桃市| 丹阳市| 都安| 石棉县| 香格里拉县| 越西县| 姚安县| 呼伦贝尔市| 江阴市| 沂水县| 浦县| 池州市| 高邑县| 绥德县| 金川县| 连云港市| 尚志市| 师宗县| 襄樊市| 肃宁县| 阳信县| 宣汉县| 香港| 延庆县| 桐城市| 遂宁市| 丘北县| 金乡县| 苗栗市| 家居| 榕江县| 桂阳县| 建宁县| 通化市| 哈密市| 廊坊市| 定边县| 九龙县| 襄汾县| 宜兴市|