位置:首頁(yè) > 軟件操作教程 > 編程開(kāi)發(fā) > Python > 問(wèn)題詳情

在Python內(nèi)置特殊函數(shù)eval(),exec,execfile()名字空間

提問(wèn)人:楊紫紅發(fā)布時(shí)間:2020-11-17

默認(rèn)eval(),exec,execfile()所運(yùn)行的代碼都位于當(dāng)前的名字空間中。eval(), exec,和 execfile()函數(shù)也可接受

一個(gè)或兩個(gè)可選字典參數(shù)作為代碼執(zhí)行的全局名字空間和局部名字空間


Demo:

globals = {'x': 7, 'y': 10, 'birds': ['Parrot', 'Swallow', 'Albatross'] } 

locals = { } # 將上邊的字典作為全局和局部名稱(chēng)空間 

a = eval("3*x + 4*y", globals, locals) 

exec "for b in birds: print b" in globals, locals 

注意語(yǔ)法 execfile("foo.py", globals, locals) 


 exec是一個(gè)語(yǔ)句(就象print或while), 

而eval()和execfile()則是內(nèi)建函數(shù). 

繼續(xù)查找其他問(wèn)題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部