用法:
eval(expression[, globals[, locals]])參數是字符串和可選的全局變量和局部變量。如果提供,
globals必須是字典。如果提供,locals可以是任何映射對象。expression參數被解析和評估為 Python 表達式(技術上講,條件列表),使用globals和locals字典作為全局和本地命名空間。如果存在globals字典並且不包含鍵__builtins__的值,則在解析expression之前,在該鍵下插入對內置模塊builtins的字典的引用。這樣,您可以通過將自己的__builtins__字典插入到globals中,然後再將其傳遞給eval()來控製哪些內置函數可用於執行的代碼。如果省略locals字典,則默認為globals字典。如果省略兩個字典,則在調用eval()的環境中使用globals和locals執行表達式。請注意,eval()無權訪問封閉環境中的嵌套範圍(非本地)。返回值是計算表達式的結果。語法錯誤被報告為異常。例子:
>>> x = 1 >>> eval('x+1') 2此函數還可用於執行任意代碼對象(例如由
compile()創建的代碼對象)。在這種情況下,傳遞一個代碼對象而不是一個字符串。如果代碼對象已使用'exec'作為mode參數進行編譯,則eval()的返回值將為None。提示:
exec()函數支持動態執行語句。globals()和locals()函數分別返回當前的全局和本地字典,這對於傳遞以供eval()或exec()使用可能很有用。如果給定的源是一個字符串,那麽前導和尾隨空格和製表符將被去除。
請參閱
ast.literal_eval(),了解可以使用僅包含文字的表達式安全地評估字符串的函數。使用代碼對象作為參數引發審計事件
exec。也可能引發代碼編譯事件。
相關用法
- Python eval()用法及代碼示例
- Python Wand evaluate()用法及代碼示例
- Python PIL eval()用法及代碼示例
- Python email.message.Message.walk用法及代碼示例
- Python numpy matrix eye()用法及代碼示例
- Python enchant.request_dict()用法及代碼示例
- Python email.headerregistry.DateHeader用法及代碼示例
- Python enum.IntEnum用法及代碼示例
- Python math expm1()用法及代碼示例
- Python enchant.get_enchant_version()用法及代碼示例
- Python email.message.EmailMessage.add_header用法及代碼示例
- Python emoji轉text用法及代碼示例
- Python enchant.request_pwl_dict()用法及代碼示例
- Python email.utils.getaddresses用法及代碼示例
- Python email.header.decode_header用法及代碼示例
- Python email.message.EmailMessage.walk用法及代碼示例
- Python exponential轉float用法及代碼示例
- Python enchant.Dict()用法及代碼示例
- Python email.message.Message.add_header用法及代碼示例
- Python enum.auto()用法及代碼示例
注:本文由純淨天空篩選整理自python.org大神的英文原創作品 eval。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
