Python与Cpython

发布于 2021-01-29 15:02:03

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

python.org提到CPython是:

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

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

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

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

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

关注者
0
被浏览
88
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    那么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的解释。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看