Python在执行时,首先会将.py文件中的源代码编译成Python的byte code(字节码),

然后再由Python Virtual Machine(Python虚拟机)来执行这些编译好的byte code。

这种机制的基本思想跟Java,.NET是一致的。

然而,Python Virtual Machine与Java或.NET的Virtual Machine不同的是,

Python的Virtual Machine是一种更高级的Virtual Machine。

这里的高级并不是通常意义上的高级,不是说Python的Virtual Machine比Java或.NET的功能更强大,

而是说和Java 或.NET相比,

Python的Virtual Machine距离真实机器的距离更远。

或者可以这么说,Python的Virtual Machine是一种抽象层次更高的Virtual Machine。

基于C的Python编译出的字节码文件,通常是.pyc格式。

原文:http://blog.51cto.com/ilctc/2094039

python解释器工作原理_Python解释器执行原理相关推荐

  1. C语言switch执行原理,Switch 底层执行原理

    Switch 底层执行原理 switch 底层执行原理 switch 语句根据一个整数索引值进行多重分支, 底层采用跳转表这种数据结构跳转表是一个数组, 表项 i 对应代码段的地址, 当 switch ...

  2. python解释器的工作原理_python解释器详解

    Python是一门编程语言,但是从目前的实现来讲,Python也是一个名为解释器的软件包,解释器是一种让其他程序运行起来的程序,当你编写了一段Python程序,Python解释器将读取程序,并且按照其 ...

  3. python常用编译器和解释器的区别_Python常用编译器原理及特点解析

    python要知道怎么用好编译器.当我们编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文本文件.要运行代码,就需要Python解释器去执行.py文件. 由于整个Pyt ...

  4. python自动化和教程_python自动化基本技术原理

    python自动化测试(2) 自动化基本技术原理 1 概述 在之前的文章里面提到过:做自动化的首要本领就是要会 透过现象看本质 ,落实到实际的IT工作中就是 透过界面看数据. 掌握上面的这样的本领可不 ...

  5. python解释器怎么添加_Python解释器的配置

    1.准备工作 安装好Pycharm2017版本 电脑上安装好Python解释器 2.本地解释器配置 配置本地解释器的步骤相对简洁直观: (1)单击工具栏中的设置按钮. (2)在Settings/Pre ...

  6. python采用解释方式执行_Python解释执行原理

    谈到了Python语句的两种执行方式,实际上,这两种运行方式在本质 上是相同的,它们都是由解释器来解释执行我们提供的Python语句. 这里所说的解释执行是相对于编译执行而言的.我们知道,使用诸如 C ...

  7. python 底层原理_Python 探针实现原理

    本文将简单讲述一下 Python 探针的实现原理. 同时为了验证这个原理,我们也会一起来实现一个简单的统计指定函数执行时间的探针程序. 探针的实现主要涉及以下几个知识点: sys.meta_path ...

  8. python通过解释器来编译_python 解释器与编译过程,代码的搬运工

    虚拟机工作前: python 在运行.py 文件的时候,先进行编译字节码的形式来进行存在,字节码的存在是为了优化速度. 字节码的更改是通过时间戳来进行.字节码发送的python 虚拟机之中,虚拟机是p ...

  9. python m什么意思_Python -m参数原理及使用方法解析

    作用是:把xxx.py文件当做模块启动 但是我一直不明白当做模块启动到底有什么用.python xxx.py和python -m xxx.py有什么区别! 自问自答:python xxx.py pyt ...

最新文章

  1. Java项目:宠物医院预约挂号系统(java+JSP+Spring+SpringBoot+MyBatis+html+layui+maven+Mysql)
  2. 万字长文,一文搞懂TCP/IP和HTTP、HTTPS
  3. 2、EVE-NG镜像导入(Dynamipshe和IOL)
  4. 浅析Linux Native AIO的实现
  5. OpenCV图像处理——copyTo与mask(掩码)操作
  6. JAVA的网络编程【转】
  7. 前端学习(2769):发送网络请求
  8. 1.4Activity保存现场状态
  9. 领域应用 | 人工智能+知识图谱:如何规整海量金融大数据?
  10. SpringBoot | 第十四章:基于Docker的简单部署
  11. java 数据库操作教程_java操作数据库的基本方法
  12. 。。。剑指Offer之——反转链表。。。
  13. json日期格式化 java_java_Java Web程序中利用Spring框架返回JSON格式的日期,返回Json时格式化日期Date 第一 - phpStudy...
  14. python 内置变量
  15. 全网首发:WORD应该是布局绘制二合一
  16. 激光雷达+imu_大疆览沃浩界(Livox Horizon)激光雷达测评
  17. IISPUT上传漏洞
  18. 为什么说体验即设计?
  19. php think命令,ThinkPHP 使用命令行 (cli) think 调用
  20. 软件工程的10个知识领域

热门文章

  1. 清除vs2003-vs2008起始页最近打开项目
  2. 解决XP系统下HTTP 错误 403.9 - 禁止访问:连接的用户过多的问题
  3. JavaScript中的load事件的作用_史上最全的web前端面试题汇总及答案JavaScript之二(二)...
  4. 计算机机房规范管理,计算机中心机房建设及管理规范.doc
  5. git reset 怎么还原_git reset --hard 操作后的数据恢复
  6. 2pc oracle dba_2pc_pending,dba_2pc_pending视图中的信息不清除会对以后有影响吗?如何根本解决问题?...
  7. 国防科大计算机考研大纲,2022年国防科技大学F1003计算机操作系统考研大纲及参考书目...
  8. python补齐空格_如何提高使用Python填补时间序列和数据列表中空白的性能
  9. 计算机教育的发展,计算机教育发展方向研究
  10. mysql注释符号按键,Shell 注释