小编典典

Python与Cpython

python

关于Python和CPython (Jython,IronPython) 的所有这些大惊小怪,我不明白:

python.org提到CPython是:

Python的“传统”实现(绰号为CPython)

另一个堆栈溢出问题提到:

CPython是Python的默认字节码解释器,它是用C编写的。

老实说,我并没有理解这两种解释的实际含义,但是我认为,
如果我使用CPython,这意味着当我运行示例python代码时,它将其编译为C语言,然后像执行C语言一样执行它码

那么CPython到底是什么?与python相比,它有什么区别?我应该在Python上使用CPython吗?如果有,它的优点是什么?


阅读 288

收藏
2021-01-20

共1个答案

小编典典

那么CPython是什么?

CPython是 原始的
Python实现。它是您从Python.org下载的实现。人们称它为CPython是为了将其与其他后来的Python实现区分开来,并将语言引擎的实现与Python
编程语言 本身区分开来。

后面的部分是您困惑的来源。您需要将Python语言与 运行 Python代码的代码分开。

CPython 恰好 是用C实现的。实际上,这只是实现细节。CPython将您的Python代码(透明地)编译为字节码,并在评估循环中解释该字节码。

CPython也是第一个实现新功能的人。Python语言开发使用CPython作为基础;其他实现如下。

Jython等如何?

JythonIronPythonPyPy是Python编程语言的当前“其他”实现。它们分别用Java,C#和RPython(Python的子集)实现。Jython将您的Python代码编译为
Java 字节码,因此您的Python代码可以在JVM上运行。IronPython使您可以在Microsoft
CLR
上运行Python
。而且,PyPy(在Python(的一部分)中实现)使您比CPython更快地运行Python代码,这应该引起您的注意。:-)

实际编译为C

因此,CPython本身 不会 将您的Python代码转换为C。而是运行解释器循环。还有 一个项目
翻译的Python上下的代码转换为C,而被称为用Cython。用Cython增加了一些扩展Python语言,并让您编译代码,以C扩展,代码插头
CPython的解释。

2021-01-20