首頁  >  文章  >  後端開發  >  Python中eval函數怎麼用

Python中eval函數怎麼用

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼原創
2019-06-21 13:22:274710瀏覽

Python中eval函數是什麼? eval(expression, globals=None, locals=None)實參是一個字串,以及可選的 globals 和 locals。 globals 實參必須是一個字典。 locals 可以是任何映射物件。

Python中eval函數怎麼用

expression 參數會作為一個Python 表達式(從技術上說是一個條件列表)被解析並求值,使用 globals 和 locals 字典作為全域和局部命名空間。如果 globals 字典存在且不包含以 __builtins__ 為鍵的值,則會在解析 expression 之前插入以此為鍵的內建模組 builtins 的字典的引用。這意味著 expression 通常具有對標準 builtins 模組的完全存取權且受限的環境會被傳播。如果省略 locals 字典則其預設值為 globals 字典。如果兩個字典同時省略,表達式會在 eval() 被呼叫的環境中執行。傳回值為表達式求值的結果。語法錯誤將作為異常被報告。

相關推薦:《Python影片教學

例如:

>>> x = 1
>>> eval('x+1')
2

這個函數也可以用來執行任何程式碼物件(如 compile()創建的)。這種情況下,參數是代碼對象,而不是字串。如果編譯該物件時的 mode 實參是 'exec' 那麼 eval() 回傳值為 None 。

提示: exec() 函數支援動態執行語句。 globals() 和 locals() 函數各自返回目前的全域和本機字典,因此您可以將它們傳遞給 eval() 或 exec() 來使用。

以上是Python中eval函數怎麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn