您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

编译器与解释器

2019/6/13 3:18:25发布42次查看

编译器与解释器
编译器/解释器:高级语言与机器之间的翻译官
都是将代码翻译成机器可以执行的二进制机器码,只不过在运行原理和翻译过程有不同而已。
那么两者有什么区别呢?
编译器:先整体编译再执行
解释器:边解释边执行
用一个通俗的例子进行比喻:我们去饭馆吃饭,点了八菜一汤。编译器的方式就是厨师把所有的菜给你全做好了,一起给你端上来,至于你在哪吃,怎么吃,随便。解释器的方式就是厨师做好一个菜给你上一个菜,你就吃这个菜,而且必须在饭店里吃。
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的字节码。
python的运行机制
python作为动态解释性语言,其运行机制可参考下
都说解释器慢,python也有想办法提高一下运行速度的,那就是使用pyc文件。这点参考了java的字节码做法,但并不完全类同。
我们编写的代码一般都会保存在以.py为后缀的文件中。在执行程序时,解释器逐行读取源代码并逐行解释运行。每执行一次,就重复一次这个过程,这其中耗费了大量的重复性的解释工作。为了减少这一重复性的解释工作,python引入了pyc文件,pyc文件是将py文件的解释结果保存下来的文件,这样,下次再运行的时候就不用再解释了,直接使用pyc文件就可以了,这无疑大大提高了程序运行速度。

该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product