Python 和 CPython (Jython,IronPython) 有什么大惊小怪的,我不明白:
python.org提到 CPython 是:
Python 的“传统”实现(绰号 CPython) CPython 是 Python 的默认字节码解释器,它是用 C 编写的。
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- ish 代码翻译成 C,名为Cython。Cython 为 Python 语言添加了一些扩展,并允许您将代码编译为 C 扩展,即插入 CPython 解释器的代码。