博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python如何运行程序
阅读量:4222 次
发布时间:2019-05-26

本文共 1070 字,大约阅读时间需要 3 分钟。

程序执行的标准流程

Python安装在机器上,它包含一个解释器和支持的库。Python程序开始执行之前不需要预编译和连接,大大缩短开发周期。
  • 1
  • 2

字节码编译

当Python运行脚本时,第一步需要将脚本编译成“字节码”,字节码是源代码底层的、与平台无关的表现形式,扩展名为“.py”的脚本源文件编译成扩展名为“.pyc”字节码文件,此过程对程序员是不可见的(即透明的)。如果源文件没有被修改,下一次运行程序时将自动加载.pyc字节码文件。
  • 1
  • 2

Python虚拟机(PVM)

编译后的字节码文件被发送到Python虚拟机,PVM解释字节码并运行字节码指令,也就是说PVM是实际运行脚本的组件。由于运行的是字节码而不是像C/C++那样运行二进制代码,所以Python的执行效率比C/C++低。
  • 1
  • 2

值得注意的是:在一些需要高执行速度的领域,如:数值计算、动画,通过分离一部分需要优化执行速度的应用。将其转换为编译好的扩展,能够到达想要的运行效果。比如NumPy,一个Python的数值计算扩展。 

这里写图片描述

Python的实现

Python语言主要有3种实现方式(CPython、 Jython、 IronPython)

CPython

CPython是原始的、标准的Python实现方式,从官网(http://www.python.org)下载的Python就是CPython,由ANSI C语言编写而成。CPython的实现方式如上文描述。
  • 1
  • 2

Jython

Jython包含了Java类,这些类编译Python源代码、形成Java字节码,这些Java字节码在Java虚拟机(JVM)上运行。因为Python代码被翻译成Java字节码,在运行时看起来就一个真正的Java程序。Jython要比CPython慢而且也不够健壮。
  • 1
  • 2

IronPython

设计IronPython的目的:让Python程序可以与windows平台上的.NET框架、Linux的Mono所开发的应用集成。IronPython将上图中后两个方框换成.NET环境的等效执行方式。
  • 1
  • 2

执行优化

Psyco实时编译器

Psyco是一个PVM的增强工具,在程序运行时,可以将部分程序的字节码转换成真正的二进制机器代码。因为字节码到机器码的转换与程序运行同时发生,所以Psyco往往被看做是一个即时编译器(JIT)。Psyco需要单独安装
  • 1
  • 2
  • 3
https://blog.csdn.net/C_arolMM/article/details/76206164
你可能感兴趣的文章
vs2010如何引用相对路径
查看>>
存取像素值操作
查看>>
Opencv调用GPU模块
查看>>
opencv读取视频文件并显示的程序详细解释
查看>>
智能视频分析
查看>>
使用opencv进行多路视频的播放
查看>>
L-K光流法
查看>>
virtual详解
查看>>
c++ virtual总结
查看>>
CUDA5.5+Opencv2.4.9+VS2010+Win7 64bit
查看>>
Opencv批量读取文件夹图片
查看>>
基于opencv读取两个摄像头信息
查看>>
解码图像保存单帧
查看>>
解码保存全部BMP图像
查看>>
NV12转化为BMP函数
查看>>
双目运算符重载
查看>>
Opencv同时读入多个视频
查看>>
Opencv读取摄像头数据
查看>>
Opencv中常用库文件名称
查看>>
使用VS2010在项目中编写C++头文现出"PCH 警告:标头停止点不能位于宏或#if块中"
查看>>