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

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

当谈到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!

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

要成为德、智、体兼优的劳动者,锻炼身体极为重要。身体健康是求学和将来工作之本。运动能治百病,能使人身体健康,头脑敏捷,对学习有促进作用。 —— 吴耕民