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

Sre*_*ram 1 python dynamic-languages py2exe python-3.x

我是python的新手,我以前从未将python代码编译成可执行文件.我熟悉的语言是C,C++和Java,我从来没有遇到过允许你自己修改代码的语言,比如使用Python的方法exec.

对于以下代码,

a = 500
code  = raw_input() 
exec (code)
Run Code Online (Sandbox Code Playgroud)

当我输入as时,print (a)程序显示值a.所以这意味着变量a属于代码范围.

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

Cha*_*ffy 6

py2exe 永远不会将Python代码编译成本机可执行文件; 它总是将Python解释器捆绑成可执行文件.这是真实的.同样freeze,cx_Freeze和所有其他工具提供类似的功能,同时支持完整的Python语言,而不是它的有限的子集.

因此,exec,eval和类似的结构也无需额外的设备.