关于Python和CPython (Jython,IronPython) 的所有这些大惊小怪,我不明白:
python.org提到CPython是:
Python的“传统”实现(绰号为CPython)
另一个堆栈溢出问题提到:
CPython是Python的默认字节码解释器,它是用C编写的。
老实说,我并没有理解这两种解释的实际含义,但是我认为, 如果我使用CPython,这意味着当我运行示例python代码时,它将其编译为C语言,然后像执行C语言一样执行它码
那么CPython到底是什么?与python相比,它有什么区别?我应该在Python上使用CPython吗?如果有,它的优点是什么?
CPython是 原始的 Python实现。它是您从Python.org下载的实现。人们称它为CPython是为了将其与其他后来的Python实现区分开来,并将语言引擎的实现与Python 编程语言 本身区分开来。
后面的部分是您困惑的来源。您需要将Python语言与 运行 Python代码的代码分开。
CPython 恰好 是用C实现的。实际上,这只是实现细节。CPython将您的Python代码(透明地)编译为字节码,并在评估循环中解释该字节码。
CPython也是第一个实现新功能的人。Python语言开发使用CPython作为基础;其他实现如下。
Jython,IronPython和PyPy是Python编程语言的当前“其他”实现。它们分别用Java,C#和RPython(Python的子集)实现。Jython将您的Python代码编译为 Java 字节码,因此您的Python代码可以在JVM上运行。IronPython使您可以在Microsoft CLR上运行Python 。而且,PyPy(在Python(的一部分)中实现)使您比CPython更快地运行Python代码,这应该引起您的注意。:-)
因此,CPython本身 不会 将您的Python代码转换为C。而是运行解释器循环。还有 是 一个项目 做 翻译的Python上下的代码转换为C,而被称为用Cython。用Cython增加了一些扩展Python语言,并让您编译代码,以C扩展,代码插头 到 CPython的解释。