什么阻止python被编译?

Ner*_*nux 6 python

我知道Python是一种解释型语言,但如果编译它,性能会高得多。

  • 究竟是什么阻止了python被编译?
  • 为什么python首先被设计为一种解释型语言而不是一种编译型语言?

注意:我知道.pyc文件,但那些是字节码,而不是编译文件。

Rus*_*ove 8

Python,与任何编程语言一样,它本身不是编译或解释的。称为 CPython 的标准 Python 实现将 Python 源代码自动编译为字节码并执行。

有一些 Python 实现可以编译为本机代码。例如,PyPy 项目使用 JIT 编译来获得 CPython 的易用性与本机代码性能相结合的好处。

Cython是另一种混合方法,它从 Python 的方言中动态生成和编译 C 代码。

然而,因为 Python 是动态类型的,所以完全预编译所有可能的代码路径通常是不切实际的,并且它永远不会像主流静态类型语言一样快,即使是 JIT 编译的。