Python 编译器与解释器

Python是高级语言,是独立于机器面向过程或对象的语言,也可以说是人定义出来的语言,机器语言是机器能够去识别处理的语言,通过编译器与解释器就能够将python语言转成机器语言从而被机器处理执行

1. 编译器与解释器的区别

编译器是整体编译再执行,而解释器是边解释便执行。

举个简单的例子,编译器就相当于你买了一桶海底捞,那么所有海底捞食材都是整体“编译”好,只要通过倒水(执行)就可以吃,而解释器相当于你去海底捞门店,然后菜是一道一道上(一条一条解释这是啥菜),你是一道一道放入汤中吃(执行)。

编译器的特点是:

  • 运行速度快(倒水即可),但任何一个小改动都要重新编译(重新设置海底捞食材整合到海底捞桶中)。
  • 可脱离编译环境(脱离海底捞门店)。
  • 代表语言:C语言

解释器的特点是:

  • 运行速度慢,但部分改动不需要整体再重新编译(不要这道菜我就不把这道菜下汤/新加菜下汤)。
  • 不可脱离解释环境(不能离开海底捞门店,出去了对空气下锅嘛)。
  • 代表语言:Python

2. Python解释器的种类

  1. CPython:官方版本解释器。用C语言开发,所以字如其名叫CPython,使用最广,也是我们平常所使用的

  2. IPython:基于CPython之上的交互式解释器,实现代码功能与CPython无异,只是在视图交互上体验有所增强

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

3. Python的运行机制

python的源文件通过解释器进行模块的加载及链接,然后将解释完成的字节码存入内存,提供给CPU进行操作,然后写入本地的.pyc文件,其触发条件是判断 是否存在.pyc文件+比较源文件与编译的.pyc文件的时间戳


Python运行机制.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容