用法:
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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。