我们都知道,使用CC++之类的编译性语言编写的程序,是需要从源文件转换成计算机使用的机器语言,经过链接器链接之后形成了二进制可执行文件。运行该程序的时候,就可以二进制程序从硬盘载入到内存中并运行。

但是对于Python而言,Python源码不需要编译成二进制代码,它可以直接从源代码运行程序序。

Python解释器将源代码转换为字节码,然后把编译好的字节码转发到Python虚拟机(PVM)中进行执行。接下来,通过一张图来描述

Python程序的执行过程,当我们运行Python程序的时候,Python解释器会执行两个步

(1)

把源代码编译成字节码。编译后的字节码是特定于Python的一种表现形式,它不是二进制的机器码,需要进一步编译才能被机器执行,这也是Python代码无法运行的像CC++一样快的原因。如果Python进程在机器上拥有写入权限,那么它将把程序的字节码保存为一个以.pyc为扩展名的文件,如果Python无法在机器上写入字节码,那么宇节码将会在内存中生成并在程序结束时自动丢弃。在构建程序的时候最好给Python赋上在计算机上写的权限,这样只要源代码没有改变,生成的.pyc文件可以重复利用,提高执行效率。

(2) 把编译好的字节码转发到Python虚拟机(PVM)中进行执行。PVM是Python Virtual

Machine的简称,它是Python的运行引擎,是Python系统的一部分,它是迭代运行字节码指令的一个大循环,一个接一个地完成操作。

以上小编介绍了,Python程序的执行过程,希望对您有所帮助,如果您对python比较感兴趣,想了解更多请点击页面咨询按钮获得帮助。【python视频教程下载】

python打开是什么样的-Python程序的执行过程是什么样的?相关推荐

  1. python 二进制流转图片_Python零基础入门到精通-5.1节:Python程序的执行过程

    教程引言: 系统地讲解计算机基础知识,Python的基础知识, 高级知识,web开发框架,爬虫开发,数据结构与算法,nginx, 系统架构.一步步地帮助你从入门到就业. 5.1.1 在命令行中执行Py ...

  2. python语言是编译型语言-Python程序的执行过程原理(解释型语言和编译型语言)...

    Python是一门解释型语言? 我初学Python时,听到的关于Python的第一句话就是Python是一门解释型语言,我就这样一直相信下去,直到发现.pyc文件的存在,如果真是解释型语言,那么生成的 ...

  3. python运行程序-Python程序的执行过程

    1.C++和C都是属于编译型语言,本来的.c文件都是用高级语言编写的,计算机是不能识别高级语言的,所以,必须要通过编译,链接等手段,将.c文件转换成可执行文件,可执行文件就是纯二进制文件,然后计算机才 ...

  4. python运行程序-一文看懂python程序的执行过程

    本文主要介绍的是python程序的执行过程,首先介绍的是编译过程,其次介绍的是过程图解及编译字节码,最后介绍了codeobject对象的属性,具体的跟随小编一起来了解一下. 一.编译过程概述 当我们执 ...

  5. python语言采用编译执行方式_Python程序的执行过程 解释型语言和编译型语言

    我初学Python时,听到的关于Python的第一句话就是,Python是一门解释性语言,我就这样一直相信下去,直到发现了*.pyc文件的存在.如果是解释型语言,那么生成的*.pyc文件是什么呢?c应 ...

  6. python采用编译型方式执行_Python程序的执行过程 解释型语言和编译型语言

    我初学Python时,听到的关于Python的第一句话就是,Python是一门解释性语言,我就这样一直相信下去,直到发现了*.pyc文件的存在.如果是解释型语言,那么生成的*.pyc文件是什么呢?c应 ...

  7. Python程序的执行过程

    解释器 解释器是代码与机器的计算机硬件之间的软件逻辑层,是一种让其他程序运行起来的程序. Python解释器将读取一段Python程序,并按照其中的命令执行,得出结果.编写的Python程序必须在解释 ...

  8. Python程序的执行过程 解释型语言和编译型语言

    转载地址:http://www.cnblogs.com/kym/archive/2012/05/14/2498728.html 1.C++和C都是属于编译型语言,本来的.c文件都是用高级语言编写的,计 ...

  9. 说说Python程序的执行过程

    原文地址为: 说说Python程序的执行过程 1. Python是一门解释型语言? 我初学Python时,听到的关于Python的第一句话就是,Python是一门解释性语言,我就这样一直相信下去,直到 ...

最新文章

  1. 计算机有什么创新,笔记本创新技术有哪些?【详解】
  2. Spring-Boot项目部署到单独tomcat运行
  3. 2020-11-17(补码的非)
  4. 零售商的“基因改造”浪潮
  5. 搭建DVWA漏洞环境
  6. Mysql日期差函数,Mysql选择两个日期字段相差大于或小于一定时间
  7. Angular workspace默认的packages
  8. windows环境下OpenLDAP安装与客户端连接配置
  9. 讲真,你知道Python咋来的吗?
  10. 《银联提交服务单》-业务流程
  11. Linux网络编程|UDP编程实例
  12. matlab将数据集分成训练集和测试集,如何将数据分成训练集和测试集?
  13. go install报错no install location for directory outside GOPATH
  14. 获取电影天堂电视剧下载页面所有url地址
  15. umi首屏加载速度优化
  16. Web开发应了解的5种设计模式(转)
  17. Office Visio简介
  18. SMBIOS介绍(2):结构表
  19. break continue 关键字 while和do while循环一维数组Day05
  20. 期权波动率“微笑曲线”之谜

热门文章

  1. [LeetCode] Search Insert Position 搜索插入位置
  2. STM32的SPI问题。
  3. Asp.net生成Excel文件并下载(解决使用迅雷下载页面而不是文件的问题)
  4. 怎样知道一个数是不是2的N次方,怎样判断一个数是奇数还是偶数
  5. python如何运行程序_02
  6. 【安富莱原创开源应用第3期】花式玩转网络摄像头之VNC远程桌面版本,稳定运行2年不死机...
  7. 泊松分布E(X^2)
  8. nefu 628 Garden visiting
  9. SQL Server 多实例下的复制
  10. 初学数位DP--hdu 2089