一.为什么会有编译器和解释器
很简单,给大家举一个例子,就比如说你和电脑说吃饭了吗,电脑回给你三个???,这说明电脑识别不了我们的语言,因为电脑只识别机器语言(二进制)所以他识别的都是10011010这些二进制,如果我们想和电脑沟通怎么办?这时候编译器和计算器就闪亮登场了,所以说才发明了编译器和解释器。
编译器/解释器:高级语言和机器语言之间的翻译官
都是将代码翻译成机器可以执行的二进制机器码,只不过在运行原理的翻译过程有不同而已。
二.编译器和解释器的区别
编译器
解释器
编译器就相当于自热火锅,就比如我晚上起来饿了是吃自热火锅还是去海底捞吃饭,肯定是哪个方便选择哪个吧,肯定选择自热火锅了。但是如果我想加点东西是不是不可以了,因为自热火锅是一次性的吧,如果加什么是不是要在拆一盒自热火锅,但是我要是去海底捞是不是和服务员一说就可以加了,所以说编译器和解释器都有各自都优缺点。
编译器方式:运行速度快,但如何一个小改动都需要整体重新编译,可以脱离编译环境运行。代表语言是C语言。
解释器方式:运行速度慢,但部分改动不需要整体重新编译。不可脱离解释器环境运行。代表语言是python语言。
三.python解释器种类
Cpython:官方版本的解释器。这个解释器是用C语言开发的,所以叫Cpython。Cpython是使用最广的python解释器。
Ipython:基于Cpython之上的一个交互式解释器,在交互式上有所增强,执行python代码的功能和Cpython是完全一样的。
PyPy:一给追求执行速度的python解释器。采用JIT技术,对python代码进行动态编译(注意,不是解释),可以显著提高python代码的执行速度。
Jython:运行在Java平台上的python解释器,可以直接把python代码编译成Java字节码执行。
四.python的运行机制
python运行机制解说如下
1,安装好python自己会自带库
2,编程一个东西通过解释器从库里调用模块
3,编程完毕给到电脑来进行运作
4,再通过解释器交互的方式反馈一个结果出来
5,运行成功以后保存内存里面并且后缀名为.pyt
6,之后再运行检查内存有没有.pyt的文件
7.有的话不需要解释之间运行,没有就重新解释在运行