亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python中的exec、eval使用實例

 更新時間:2014年09月23日 11:29:37   作者:iCode0410  
這篇文章主要介紹了Python中的exec、eval使用實例,本文以簡潔的方式總結(jié)了Python中的exec、eval作用,并給出實例,需要的朋友可以參考下

通過exec可以執(zhí)行動態(tài)Python代碼,類似Javascript的eval功能;而Python中的eval函數(shù)可以計算Python表達(dá)式,并返回結(jié)果(exec不返回結(jié)果,print(eval("…"))打印None);

復(fù)制代碼 代碼如下:
  
>>> exec("print(\"hello, world\")")
hello, world

>>> a = 1
>>> exec("a = 2")
>>> a
2

這里有個scope(命名空間,作用域)的概念,為了不破壞現(xiàn)在的scope,可以新建一個scope(一個字典)執(zhí)行exec(Javascript沒有此功能):

復(fù)制代碼 代碼如下:

>>> scope = {}
>>> exec("a = 4", scope)
>>> a
2
>>> scope['a']
4
  
>>> scope.keys()
dict_keys(['a', '__builtins__'])

__builtins__包含了所有的內(nèi)建函數(shù)和值;

而普通的{}不會包含__builtins__

復(fù)制代碼 代碼如下:

>>> a = {}
>>> a.keys()
dict_keys([])

同exec一樣,eval也可以使用命名空間:

復(fù)制代碼 代碼如下:

>>> result = eval('2+3')
>>> result
5
>>> scope={}
>>> scope['a'] = 3
>>> scope['b'] = 4
>>> result = eval('a+b',scope)
>>> result
7

相關(guān)文章

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

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

    這篇文章主要介紹了python 單線程和異步協(xié)程工作方式解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • 最新評論