编译器与解释器
编译器/解释器:高级语言与机器之间的翻译官
都是将代码翻译成机器可以执行的二进制机器码,只不过在运行原理和翻译过程有不同而已。
那么两者有什么区别呢?
编译器:先整体编译再执行
解释器:边解释边执行
用一个通俗的例子进行比喻:我们去饭馆吃饭,点了八菜一汤。编译器的方式就是厨师把所有的菜给你全做好了,一起给你端上来,至于你在哪吃,怎么吃,随便。解释器的方式就是厨师做好一个菜给你上一个菜,你就吃这个菜,而且必须在饭店里吃。
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文件就可以了,这无疑大大提高了程序运行速度。
爬架网@爬架防护网价格
康明斯原装3064209节温器 零件编号放心购买
陶瓷行业的釉料磨制专家间歇式陶瓷球磨机热销
抖音“限流令”来了,这6类视频成重灾区,运营抖音必看
资讯:肇庆发酵鸡粪服务为先@
编译器与解释器
湖南大叶女贞自产自销 5公分大叶女贞价格
供应:TDXDG34(320-15)/1P防雷保护器价格
印刷专用塑胶托盘仓库周转全新加厚载重高
厂家直销新款短毛绒沙发垫布艺沙发垫
工程车长排警示灯 型号价格
宇球 户外视频监控网络机柜 室外防雨恒温型安防机柜
2013年新款洗脸神器 电动防水洁面刷 洁面仪 美容仪器
东莞泰国护肤品一手货源
江西灌木批发价格,好客园艺场价格更便宜
丽江大巴车
进口文物储藏柜哪家专业
河北不锈钢浮球生产企业,厂家直销优选金宏陞电子公司
陕西国道公路护栏板安装厂家浅谈护栏配件的主要作用
扬州预制直埋保温管河北哪家专业