python解释器详解

  • Python是一门编程语言,但是从目前的实现来讲,Python也是一个名为解释器的软件包,解释器是一种让其他程序运行起来的程序,当你编写了一段Python程序,Python解释器将读取程序,并且按照其中的命令执行,得出结果。
  • Python解释器是代码与机器的计算机硬件之间的软件逻辑层。当Python包安装在机器上后,它包含一些最小化的组件:一个解释器和支持的库。
  • 根据使用情况的不同,Python解释器可能采取可执行程序的形式,或是作为链接到另一个程序的一些列库。根据选用的Python版本不用,解释器本身可以用C语言实现,或者Java类实现,或者其他形式。无论采取何种形式,编写的Python代码必须在解释器中运行。

一、python解释器工作原理

操作系统位于计算机硬件与应用软件之间是一个协调、管理、控制计算机硬件资源与软件资源的控制程序。操作系统的功能为:控制硬件、把对硬件复杂的操作封装成优美简单的接口(文件),给用户或者应用程序去使用。我们以后开发的都是应用程序,应用程序无法直接操作硬件,但凡要操作硬件,都是调用操作系统的接口。

编程语言分为:

机器语言:

  • 直接用二进制编写程序
  • 优点:程序执行效率高
  • 缺点:开发效率低

汇编语言:

  • 用英文标签去代替二进制指令,本质还是再直接操作硬件
  • 优点:相对于机器语言的开发效率要高
  • 缺点:执行相对于机器语言要低

高级语言:

  • 高级语言就是直接用人能理解的语言跟风格来编写程序,程序员无需再去考虑复杂的硬件操作

问题是我们用高级语言编写的程序归根结底还是要给计算机去执行,这就涉及到一个翻译的过程,要把人用高级语言编写的程序翻译成计算机所能理解的二进制指令去执行,按照翻译方式的不同,可以分为2类,如下:

类型

例如

优点

缺点

编译型

C语言

执行效率比解释型高

开发效率不如解释型

解释型

Python

开发效率高

执行效率比编译型慢

执行效率再快也要受限于网速,于是我们现阶段需要优先考虑就是开发效率

执行Python程序有2种方式:

(1)交互式

  • 优点:调试程序
  • 缺点:无法永久保存代码

(2)命令行的方式

  • python3 D:\p1.py
  • 优点:可以永久保存代码

python解释器执行程序的三个阶段

Python解释器执行程序的三个阶段,例如执行(python3 D:\test.py)

第一步:先启动python3解释器

第二步:Python3解释器就像一个文本编辑器一样将文件python3 D:\test.py从硬盘读入内存

Python3解释器解释执行文件代码,只有这步才识别python语法

二、3种Python解释器

1.CPython

    当我们从Python官方网站上下载并安装好Python 2.7后,我们就直接获得了一个官方版本的解释器:Cpython这个解释器是用C语言开发的,所以叫CPython。在命令下运行Python就是启动CPython解释器,CPython是使用最广泛的Python解释器。教程的所有代码都是在CPython下执行。

2.JPython

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

3.PyPy

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

4.IronPython

目的是让Python程序可以与Windows平台的.net框架以及与之对应的Linux上开源的Mono编写成的应用相集成

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券