`
qjoycn
  • 浏览: 1216084 次
文章分类
社区版块
存档分类
最新评论

Python 程序 运行过程

 
阅读更多

. Python 解释器

Python 是一门编程语言,同时也是一个解释器的软件包。 解释器是一种让其他程序运行起来的程序。 当你编写了一段Python 程序,Python 解释器将读取程序,并按照其中的命令执行,得出结果。解释器是代码与计算机硬件之间的软件逻辑层。

Python 包安装后,它包含了一些最小化的组件: 一个解释器和支持的库。 根据使用情况的不同,Python 解释器可能采取可执行程序的形式,或者作为链接到另一个程序的一系列库。 按照使用的Python 版本的不同,解释器本身可以用C程序实现,或者一些Java 类实现,或者其他形式。 无论采用哪种形式,编写的python代码必须在解释器中运行,所以,要运行Python,必须先安装Python 解释器。

. Python 程序执行过程

2.1 字节码编译

当程序执行时,Python 内部(对大多数用户是完全隐藏的)会先将源代码编译成字节码的形式。 编译是一个简单的翻译过程,而且字节码是源代码底层的,与平台无关的表现形式。 概括的说,Python 通过把每一源语句分解为单一步骤来将这些源语句翻译成一组字节码指令。 这些字节码可以提高执行速度,比起文本文件中的原始代码语句,字节码的运行速度要快很多。

翻译过程对用户来说是隐藏的,如果Python 进程在机器上有写入的权限,那么它将程序的字节码保存为一个以.pyc为扩展名的文件,pyc文件就是编译过的py源文件。 当程序运行后,会在相同的目录下查看这些pyc文件。

Python 这样保存字节码是作为一种启动速度的优化。 在下一次运行程序时,如果在上次保存字节码之后没有修改过源代码,Python将会加载pyc 文件,并跳过编译这个步骤。 pyhon 必须重新编译时,它会自动检查源文件的时间戳,如果又保存了源代码,下次程序运行时,字节码将自动重新创建。

如果Python 无法在机器上写入字节码,程序仍然可以工作,此时字节码将会在内存中生成并在程序结束时简单丢弃。 尽管这样,由于pyc 文件能够加速启动,对于大型程序,应该给与python写入权限,如果保存了pyc文件,能加速程序的程序。

2.2 Python 虚拟机(PVM

一旦程序编译成字节码或者字节码从已经存在的pyc 文件中载入,之后的字节码被发送到称为Python虚拟机(Python Virtual Machine)上来执行。 PVM 就是迭代运行字节码指令的一个大循环,一个接一个地完成操作。 PVM Python 的运行引擎,它时常表现为Python系统的一部分,并且它是实际运行脚本的组件。 这步操作也就是Python 解释器的最后步骤。

2.3 性能

CC++这类完全编译语言需要build 或者make,但是Python 字节码不是机器的二进制代码,不需要进行make的步骤。

这也是Python代码无法运行得像C或者C++代码一样快的原因,因为PVM循环仍然需要解释字节码,并且字节码指令与CPU指令相比需要更多的工作。 和其他经典的解释器不同,这里仍有内部的编译步骤:python 并不需要反复地重分析和重分解每一行语句,实际的效果就是纯Python 代码的运行速度介于传统的编译语言和传统的解释语言之间。

整理自网络

------------------------------------------------------------------------------

Blog http://blog.csdn.net/tianlesoftware

网上资源: http://tianlesoftware.download.csdn.net

相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx

DBA1 群:62697716(); DBA2 群:62697977()

DBA3 群:62697850 DBA 超级群:63306533;

聊天 群:40132017

--加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请

分享到:
评论

相关推荐

    说明python程序的运行过程.docx

    说明python程序的运行过程 Python程序的运行过程 Python是一种高级编程语言,它的运行过程可以分为三个主要阶段:编写代码、解释代码和执行代码。在本文中,我们将详细介绍这三个阶段。 编写代码 编写Python代码的第...

    在交互式环境中执行Python程序过程详解

    今天,小编讲些Python基础的内容,以Windows下交互式环境为依托,演示Python程序的运行。 一般来说,顺利安装Python之后,有两种方式可以进入Python交互性环境。一种是在Python自带的IDLE中直接打开交互式窗口,如下...

    说明python程序的运行过程(1).docx

    说明python程序的运行过程 Python程序的运行过程 Python是一种高级编程语言,它的运行过程可以分为三个主要阶段:编写代码、解释代码和执行代码。在本文中,我们将详细介绍这三个阶段。 编写代码 编写Python代码的第...

    第2章-Python基本语法-Python程序设计基础案例教程-李辉-清华大学出版社.pptx

    基本元素 Python语法特点 标识符与变量、常量 基本数据类型 基本输入和输出 常见的运算符与表达式 第二章 Python基本... 常量 初始化(第一次赋予值)后就保持固定不变的值 变量 在运行过程中值可以被修改的量 使用有

    Python语言程序设计习题答案.zip

    Python程序设计的书籍已经琳琅满目,每一本书都凝聚了作者对Python的理解和对程序设计的认识,都是作者编程开发和教学经验的总结,都折射出作者的专业背景。由于大数据专业学生对程序设计的要求不是很高,但又需要...

    Python程序设计-循环结构说课稿.docx

    其中《循环结构程序设计》是初中信息技术课本第三册的第七单元"Python程序设计(下)"的第26课的内容。本节课的内容是在上节课选择结构的基础上进行的。循环结构作为Python程序设计的三大基本结构之一,有助于学生更...

    Python语言程序设计PPT课件.zip

    Python程序设计的书籍已经琳琅满目,每一本书都凝聚了作者对Python的理解和对程序设计的认识,都是作者编程开发和教学经验的总结,都折射出作者的专业背景。由于大数据专业学生对程序设计的要求不是很高,但又需要...

    《Python程序设计》课程教学大纲(3).docx

    二、教学过程安排 《Python程序设计》课程教学大纲(3)全文共4页,当前为第1页。 序号 知识模块 教学内容 课时 课程目标 教学方法 1 Python基础 Python语言特点、集成开发环境 Python数值对象类型 Python对象、变量与...

    上交大《Python程序设计实用教程》教学资源-《Python程序设计基础》试卷1答案.docx

    《Python程序设计基础》测试题参考答案 单项选择题(每个2分,共20分) 1.B 2.B 3. B 4.D 5.C 6. A 7. C 8.B 9.C 10.D 填空题(每个空1.5分,共15分) 1.(pyc) 2.(None) 3.(9)4.('11') 5.(def) 6....

    Python程序设计课件第2章-Python基本语法.pptx

    常量 初始化(第一次赋予值)后就保持固定不变的值 变量 在运行过程中值可以被修改的量 使用有意义的名字 多个单词之间为表示区隔,可以用下划线来连接,或者把每个单词的首字母大写 固定不变的常

    Python程序设计课程教学大纲.doc

    《Python程序设计》课程教学大纲 课程代码: 课程名称:Python程序设计 课程性质:专业(必修) 学 分:3 学 时:72 讲课学时:36 实践/实验学时:36 适用专业:软件工程 先修课程:大学计算机基础 一、课程目标 ...

    从底层简析Python程序的执行过程

    主要介绍了从底层简析Python程序的执行过程,包括注入操作码和封装程序等解释器执行层面的知识,需要的朋友可以参考下

    python-运行原理(1).docx

    python-运行原理(1)全文共1页,当前为第1页。python-运行原理(1)全文共1页,当前为第1页。...程序会访问这些内存空间,并在程序运行过程中动态地分配和释放内存。 Python 中的变量是动态的,也就是说,

    Python程序设计基础教程08.pptx

    第8章 异常处理及程序调试 Python程序设计基础教程(慕课版) 工业和信息化人才培养规划教材 国家精品资源共享课程配套教材 高职高专计算机系列 人 民 邮 电 出 版 社 Python程序设计基础教程08全文共64页,当前为第...

    Python程序设计与应用整理.rar

    一、课程目标 了解脚本语言程序设计的基本知识,掌握程序设计的基本方法...掌握Python开发环境和运行环境的配制方法,编写Hello world程序。 实验内容: (1)安装Python3.x解释器 (2)使用IDEL编写Hello world程序

    计算机二级Python真题及答案解析1练习.doc

    运行下列 Python程序,结果正确的是( ) a=32 b=14 c=a%b print(c) A.2 B.4 C.32 D.14 2.Python文件的后缀名是( ) A.pdf B.do C.pass D.py 3.12 Python语言语句块的标记是( ) A.分号 B.逗号 C.缩进 D...

    Python程序运行原理图文解析

    主要介绍了Python程序运行原理图文解析,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下

    《Python程序设计》课程教学大纲(移动互联网-林春杰).doc

    《Python程序设计》课程教学大纲 课程代码:21137061 课程名称:Python程序设计 课程性质:专业(必修) 学 分:3 学 时:72 讲课学时:36 实践/实验学时:36 适用专业:软件工程 先修课程:大学计算机基础 一、课程...

    《Python程序设计》课程教学大纲.doc

    《Python程序设计》教学大纲 "课程英文名"The Python programming "课程代码"C0809Y21 " " "language " " " "学分 "3 "总学时 "48 "理论学时"28 " "适用专业 "计算机科学与技术 "开课学院"信息工程学院 " 注:课程...

Global site tag (gtag.js) - Google Analytics