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

首頁 > 編程 > Python > 正文

Python中的exec、eval使用實例

2020-02-23 05:49:42
字體:
來源:轉載
供稿:網友

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 石泉县| 乐业县| 华池县| 开鲁县| 万州区| 新河县| 岳普湖县| 高陵县| 石狮市| 新化县| 海门市| 屯昌县| 密云县| 资溪县| 岳阳县| 赤壁市| 长武县| 健康| 长子县| 中牟县| 平潭县| 棋牌| 乌拉特前旗| 绥江县| 莆田市| 增城市| 宜君县| 玛纳斯县| 辽阳市| 天台县| 三门峡市| 靖州| 平凉市| 祁连县| 镇江市| 武川县| 塘沽区| 临泉县| 电白县| 福鼎市| 千阳县|