Python解释器简介
一般来说,我们讨论Python,是将其作为一门编程语言来详解.但是,从实际情况来看,Python也是一个名为解释器的软件包.解释器是可以让程序运行起来一套程序,具有独立性.所以当你写了一段代码之后,Python解释器读取程序,将其转化为命令执行,得出结果.
总的来说,解释器就是代码与计算机硬件之间的软件逻辑层.
Python程序执行过程
就简单的形式而言,一个Python程序仅仅是一个包含Python代码的文本文件.后缀是.py的文件,也是我们平常所熟知的Python脚本,但当我们运行Python脚本时,都进行了哪些动作,这里小编给大家讲解一下.

1.字节码编译
当程序运行时,Python内部会将源代码(.py文件中的程序)编译成所谓的字节码的形式.而且字节码是源代码底层的,与平台无关的表现形式(如果Python程序在机器上有写入权限,就可以在源代码同目录下看到编译后的文件后缀为.pyc的文件).总的来说,就是将每一行源代码语句从上到下翻译过来,翻译成一组字节码的指令.这些字节码可以提高执行速度;比起源代码语句,字节码要执行快的多
Python这样保存字节码是一种作为启动速度的优化.下一次运行程序时,如果你还停留在上一次修改记录的话,就会直接跳过编译直接加载.pyc文件.
2.Python的虚拟机(PVM)
程序被编译成字节码之后,就会被加载到通常被称为虚拟机的一个东西上(Virtual Machine)来执行,Python的虚拟机称为PVM(Python Virtual Machine).事实上,PVM就是迭代运行(类似for循环)字节码指令,然后操作系统会去执行这些命令.PVM是Python的运行引擎,它时常表现为Python系统的一部分,并且它是实际运行脚本的组件.

Python解释器的种类

1.CPython
我们平常所熟知的,也是原始的,标准的Python实现方式通常称为cpython.我们一般开发所使用就是这个解释器.它运行速度最快,最完整而且也最健全.
2.Jython
Jython(最初为JPython)是一种Python语言的替代实现方式,其目的是为了与java编程语言集成所用,Jython包含了Java类,这些类编译成Python代码,形成Java字节码,并将其运行在Java的虚拟机上(JVM).平常写程序时,编写Python语句;
Jython的目标就是让Python代码能够脚本化Java应用程序;它实现了与Java的无缝集成.但是Jython要比Cpython慢而且不够健壮,它往往看做是一个主要面向寻找Java代码前端脚本语言的Java开发者的一个工具.
3.IronPython
IronPython可以与windows平台上的.NET框架以及Linux上的开源的Mono编写成的应用相集成.IronPython允许Python程序既可以用作客户端也可以用作服务器端的组件,还可以与其他.NET的语言进行通信.

Python-pvm解释器运行程序原理相关推荐

  1. python是如何运行程序的?

    从实现方式上看,python是一个名为解释器的软件包.解释器是一种让其他程序运行起来的程序.当编写一段python程序,Pyhton解释器将读取程序,并按照其中的命令执行,得出结果.实际上,解释器是代 ...

  2. python监控linux运行程序_python linux监控程序

    Pyinotify – Linux中实时监控文件系统更改 Pyinotify 是一个简单而实用的 Python 模块,它用于通过 inotify 实时监控Linux文件系统的更改.用于在Linux中实 ...

  3. python代码变成运行程序_用Python脚本转换成windows的可执行程序

    下载并运行与你所安装的Python对应的py2exe版本的 installer,这将安装py2exe和相应的例子:这些例子被安装在lib\site-packages\py2exe\samples目录下 ...

  4. python基础教程运行程序_Python入门基础教程:WSGI

    原标题:Python入门基础教程:WSGI WSGI 简介 WSGI 是什么 WSGI 是 Python Web Server Gateway Interface 的缩写,是描述 Web 服务器与 P ...

  5. python 实现 定时运行程序 time、datetime函数

    1.time模块 使用 Python 的 time 模块来实现定时运行. 例如,你可以使用 time.sleep() 函数来让程序暂停一段时间,然后使用 time.time() 函数来获取当前时间戳. ...

  6. python代码变成运行程序_python脚本转化单个exe执行程序

    操作系统平台: Windows Server 2003 R2 Enterprise SP2 X86简体中文版 1.ActivePython-2.7.5.6-win32-x86.msi 2.setupt ...

  7. python监控linux运行程序_如何在linux/tcl/python中监控正在打开或启动的应用程序?...

    我正在尝试构建一个面板应用程序,类似于avant window navigator或UbuntuUnity.在 我的问题是,一旦我用预先定义好的应用程序构建了面板,当应用程序打开或启动时,如何向面板添 ...

  8. python绿色版运行程序_Python打包exe运行程序,分享你的技术成果!

    本文转载于公众号:你想要

  9. autoDL租用服务器运行程序全过程

    autoDL是一个不错的GPU租用平台,最近要跑好多NLP相关的程序,想再租一个配置稍高一点的服务器来使用.这里记录自己配置环境到运行程序的全过程. 个人的邀请连接:AutoDL 文章目录 选择服务器 ...

最新文章

  1. Java 程序员如何使用 Shiro 框架
  2. excel求期望_商务数据分析考试:决策树分析(Excel)-安聪
  3. python猜单词游戏_磁盘空间不足。
  4. 百度机器翻译已经进化到什么程度?
  5. Some Essential JavaScript Questions And Answers(2)
  6. java将对象 缓存_ehcache java 对象缓存怎么实现
  7. git安装 perl ubuntu_ubuntu下安装git
  8. mysql join buffer_MySQL cache之join buffer的优化
  9. 开放式式商业模式_什么是开放式领导?
  10. 想拥有高清壁纸不用那么麻烦!
  11. 嵌入式系统功能概要设计说明_嵌入式软件架构设计实际该怎么做?
  12. 【Redis】Redis学习(四) Redis Sentinel模式详解
  13. Java探索之旅(18)——多线程(2)
  14. lduan server 2012 RMS 群集安装 上(十四)
  15. android slidemenu 折叠效果,左侧菜单栏折叠展开效果-超级简单
  16. 教务管理系统数据字典mysql_数据库大作业_-教务管理系统
  17. matlab雷达辐射源,雷达辐射源PDW数据分析系统的制作方法
  18. qq文件服务器怎么用,怎样使用qq文件助手功能图文教程
  19. EDA安装------Centos7安装ANSYS
  20. 2019/04/12 华为通用软件开发工程师现场面试(offer到手)

热门文章

  1. 如何知道 win10 的激活到期时间和期限等
  2. 硕士计算机毕业论文开题报告,计算机硕士毕业论文开题报告.doc
  3. [Halcon] license分享 — 2022.12月(持续更新)
  4. Java 时间相关 获取某月的某一天
  5. python爬取知乎网页图片
  6. 【Java】接口.案例.打印机
  7. SSD接口SATA/PCIE/mSATA/M.2分析
  8. 在VMware ESXi中使用固态硬盘
  9. html字母分别代表什么,HTML 编码
  10. 解决鼠标滚轮每次滑动行数过多的办法