exec 语句是 Python 3 中的一个函数
在 Python 2 中,exec
是一个语句,具有特殊语法:exec code [in globals[, locals]].
在 Python 3 中,exec
现在是一个函数:exec(code, [, globals[, locals]])
,Python 2 语法将引发一个 SyntaxError
。
当 print
从语句变为函数时,还添加了 __future__
导入。但是,没有 from __future__ import exec_function
,因为它不需要:Python 2 中的 exec 语句也可以使用与 Python 3 中的 exec
函数调用完全相同的语法。因此,你可以更改语句
Python 2.x >= 2.3
exec 'code'
exec 'code' in global_vars
exec 'code' in global_vars, local_vars
形式
Python 3.x >= 3.0
exec('code')
exec('code', global_vars)
exec('code', global_vars, local_vars)
并且后者的形式保证在 Python 2 和 Python 3 中都能完全相同。