各种 Python 实现的简单介绍与比较

姜半如 · 2018年05月30日 · 726 次阅读

当谈到Python时,一般指的是CPython。但Python实际上是一门语言规范,只是定义了Python这门语言应该具备哪些语言要素,应当能完成什么样的任务。这种语言规范可以用不同的方式实现,可以用C实现,也可以用C++、Java、C#、JavaScript,甚至使用Python自己实现。这篇文章就是简要介绍并比较不同的Python实现,并且今后还会不断的扩充。

CPython

CPython是标准Python,也是其他Python编译器的参考实现。通常提到“Python”一词,都是指CPython。CPython由C编写,将Python源码编译成CPython字节码,由虚拟机解释执行。没有用到JIT等技术,垃圾回收方面采用的是引用计数。

所以当有人问道Python是解释执行还是编译执行,可以这样回答:Python(CPython)将Python源码编译成CPython字节码,再由虚拟机解释执行这些字节码。

如果需要广泛用到C编写的第三方扩展,或让大多数用户都能直接使用你的Python代码,那么还是使用CPython吧。

Jython

Jython在JVM上实现的Python,由Java编写。Jython将Python源码编译成JVM字节码,由JVM执行对应的字节码。

IronPython

IronPython与Jython类似,所不同的是IronPython在CLR上实现了Python,即面向.NET平台,由C#编写。IronPython将源码编译成TODO CLR,同样能很好的与.NET平台集成。

PyPy

PyPy是用Python实现的Python解释器。

共收到2条回复
小虫 · 2018年05月30日
撸起袖子加油干

PYTHON必将成为语言之王啊!

caolitao · 2020年01月08日
一只python小猫

人生苦短,我用python!

我要评论
登录之后,才能够回复。如果您还没有帐号,请先注册
小甜饼

为了成功地生活,少年人必须学习自立,铲除埋伏各处的障碍,在家庭要教养他,使他具有为人所认可的独立人格。 —— 戴尔·卡耐基