关于Python和CPython (Jython,IronPython)有什么大惊小怪的,我不明白:
python.org提到CPython是:
Python的“传统”实现(昵称为CPython)
还有一个Stack Overflow问题提到:
CPython是Python的默认字节码解释器,Python是用C语言编写的。
老实说,我不明白这两个解释实际上意味着什么,但我想的是,如果我使用CPython,这是否意味着当我运行一个示例python代码时,它会将其编译为C语言,然后像执行C代码一样执行
那么到底什么是CPython,它与python相比有什么不同,我应该使用CPython而不是python,如果是的话,它的优点是什么?
Python是一种语言:一组可用于编写程序的规则。这种语言有几种实现。
不管你采用什么实现,它们做的事情几乎是一样的:获取程序的文本并解释它,执行它的指令。它们都不会将您的代码编译成C或任何其他语言。
CPython是最初的实现,用C语言编写(“CPython”中的“C”部分指的是用来编写Python解释器本身的语言)。
Jython是同一种语言(Python),但使用Java实现。
IronPython解释器是用c#编写的。
还有PyPy——一个用Python编写的Python解释器。你自己选吧。
Cpython是Python的默认实现,当我们从它的官方网站下载Python时,它就会出现在我们的系统中。
Cpython将扩展名为.py的python源代码文件编译为一个中间字节码,该字节码通常被赋予.pyc扩展名,并由Cpython虚拟机执行。Python的这种实现提供了与Python包和C扩展模块的最大兼容性。
还有许多其他的Python实现,如IronPython, Jython, PyPy, CPython, Stackless Python等等。