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. android地图遮罩,Android 实现遮罩
  2. TiDB与gRPC的那点事
  3. js监听select值变化_网络编程——C++实现socket通信(TCP)高并发之select模式
  4. 期末复习、化学反应工程科目(第六、七章)
  5. Your shell has not been properly configured to use 'conda activate'
  6. idea工作台输出的日志详解_详解linux下nohup日志输出过大问题解决方案--分批切割...
  7. 史上最全Git学习教程
  8. ORACLE不完全恢复的几种情况
  9. 理论+实践,带你掌握动态规划法
  10. prim算法_最小生成树(Kruskal和Prim算法)
  11. python与excel-超简单:用Python让Excel飞起来
  12. 关于前端浏览器 IE6bug 解决方案
  13. 调度域(Scheduling Domain)
  14. 未来教育计算机二级答案,未来教育计算机二级操作题答案.docx
  15. 利用qq官方提供的js_sdk实现qq互联登录
  16. 教你电脑微信多开方法,超级简单_多啦咪
  17. 单片机课设中期报告_基于单片机的火灾自动报警系统 中期报告
  18. 《会计学》简单的思维导图(第一版)
  19. Python开发培训怎么选
  20. MyBatis-Plus 扩展篇 > 自动填充功能

热门文章

  1. tp5的时间查询,查询时间戳是否在某一天中
  2. ipad未能与itunes连接到服务器,ipad无法连接itunes store怎么办
  3. 在淘宝上遭遇诈骗卖家
  4. 连载:中国最早的一代官派留学生--留美幼童 (结尾)
  5. 全景制作教程:如何利用Pano2VR进行补天补地?
  6. 北京飞漫软件创始人魏永明
  7. 我只是个普通大学生,想进BAT究竟有多难?
  8. 编译g2o提示错误 error: ‘ScalarBinaryOpTraits’ is not a class template
  9. 25-javaweb接入支付宝支付接口
  10. scylladb源码安装过程