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函数怎样用的细致内容,更多请关注ki4网别的相干文章!