vlambda博客
学习文章列表

第二期 | 编译器与解释器

编译器与解释器



编译器/解释器:高级语言与机器之间的翻译官。

 都是将代码翻译成机器可以执行的二进制机器码,只不过在运行原理和翻译过程有不同而已。



两者的区别


  

编译器

编译器:先整体编译再执行

编译方式:运行速度快,但任何一个小改动都需要整体重新编译。可脱离编译环境运行。代表语言是C语言。

解释器

解释器:边解释边执行

解释方式:运行速度慢,但部分改动不需要整体重新编译。不可脱离解释器环境运行。代表语言是python语言。



Python解释器种类




第二期 | 编译器与解释器

CPython


官方版本的解释器。这个解释器是用C语言开发的,所以叫CPython。CPython是使用最广的 Python解释器。我们通常说的、下载的、讨论的、使用的都是这个解释器。



第二期 | 编译器与解释器

Ipython


基于CPython之上的一个交互式解释器,在交互方式上有所增强,执行Python代码的功能和 CPython是完全一样的。CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。



第二期 | 编译器与解释器

PyPy


一个追求执行速度的Python解释器。采用JIT技术,对Python代码进行动态编译,可以显著提高Python代码的执行速度。绝大部分CPython代码都可以在PyPy下运行,但还是有一些不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。



第二期 | 编译器与解释器

Jython


运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。



第二期 | 编译器与解释器

IronPython


和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把 Python代码编译成.Net的字节码。





END



第二期 | 编译器与解释器

点分享

第二期 | 编译器与解释器

点收藏

点点赞

点在看