您好,登錄后才能下訂單哦!
這篇文章運(yùn)用簡單易懂的例子給大家介紹怎么使用Python中eval函數(shù),代碼非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
Python中eval函數(shù)是什么?eval(expression, globals=None, locals=None)實(shí)參是一個(gè)字符串,以及可選的 globals 和 locals。globals 實(shí)參必須是一個(gè)字典。locals 可以是任何映射對象。
expression 參數(shù)會作為一個(gè) Python 表達(dá)式(從技術(shù)上說是一個(gè)條件列表)被解析并求值,使用 globals 和 locals 字典作為全局和局部命名空間。 如果 globals 字典存在且不包含以 __builtins__ 為鍵的值,則會在解析 expression 之前插入以此為鍵的對內(nèi)置模塊 builtins 的字典的引用。 這意味著 expression 通常具有對標(biāo)準(zhǔn) builtins 模塊的完全訪問權(quán)限且受限的環(huán)境會被傳播。 如果省略 locals 字典則其默認(rèn)值為 globals 字典。 如果兩個(gè)字典同時(shí)省略,表達(dá)式會在 eval() 被調(diào)用的環(huán)境中執(zhí)行。 返回值為表達(dá)式求值的結(jié)果。 語法錯(cuò)誤將作為異常被報(bào)告。
例如:
>>> x = 1 >>> eval('x+1') 2
這個(gè)函數(shù)也可以用來執(zhí)行任何代碼對象(如 compile() 創(chuàng)建的)。這種情況下,參數(shù)是代碼對象,而不是字符串。如果編譯該對象時(shí)的 mode 實(shí)參是 'exec' 那么 eval() 返回值為 None 。
提示: exec() 函數(shù)支持動(dòng)態(tài)執(zhí)行語句。 globals() 和 locals() 函數(shù)各自返回當(dāng)前的全局和本地字典,因此您可以將它們傳遞給 eval() 或 exec() 來使用。
關(guān)于怎么使用Python中eval函數(shù)就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。