带有函数 exec 的 python 代码是否被编译为可执行文件?

Does a python code with the function exec in it get compiled to an executable?

我是 python 的新手,我以前从未将 python 代码编译成可执行文件。我非常熟悉的语言是 C、C++ 和 Java,我从来没有遇到过一种语言可以让你从内部修改代码,比如 Python,它使用的方法是 [=12] =].

对于下面的代码,

a = 500
code  = raw_input() 
exec (code)

当我输入 print (a) 时,程序会显示 a 中的值。 所以这意味着变量a在代码的范围内。

我不明白如果我们尝试使用像 py2exe 这样的程序将 python 代码转换为可执行文件会发生什么。 方法exec还有效吗?如果它确实有效,py2exe 是否会在程序编译时带来整个 Python 编译器和解释器?

py2exe 从不 将 Python 代码编译成本机可执行文件;它始终将 Python 解释器捆绑到可执行文件中。 freezecx_Freeze 和所有其他提供类似功能同时支持完整 Python 语言而不是其中有限子集的工具也是如此。

因此,execeval 和类似的结构无需额外设施即可使用。