您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關(guān)Python Library具有的功能是什么,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
直接運(yùn)行代碼字符串也是動態(tài)語言的一個重要特征。雖然在 .NET/C# 里也可通過 CodeDom 實現(xiàn)類似的功能,但遠(yuǎn)沒 Python 這么方便自由。
>>> code = """ def test(s): print "test:", s a = 123 """ >>> exec code >>> a 123 >>> test("abc") test: abc
內(nèi)置函數(shù)里還有 eval() 和 execfile() 都是用來做類似事情的。exec 關(guān)鍵字執(zhí)行多行代碼片段,eval() 函數(shù)通常用來執(zhí)行一條包含返回值的表達(dá)式,而 execfile 自然是用來執(zhí)行源碼文件了。
>>> a = 10 >>> x = eval("a + 3") >>> x 13
eval() 和 execfile() 都有 "globals, locals" 參數(shù),用于傳遞環(huán)境變量,默認(rèn)或顯式設(shè)置為 None 時都直接使用 globals() 和 locals() 獲取當(dāng)前作用域的數(shù)據(jù)。
>>> x = eval("a + b", {}, {})
傳遞空值,使其無法獲取本地信息
Traceback (most recent call last): File "<pyshell#21>", line 1, in <module> x = eval("a + b", {}, {}) File "<string>", line 1, in <module> NameError: name 'a' is not defined >>> x = eval("a + b", {}, { "a":123, "b":2})
顯式傳遞環(huán)境信息
>>> x 125
以上就是Python Library具有的功能是什么,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。