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 中都能完全相同。