看了set和dict,看到了字节码和dis模块,看了字节码又不能不看python解释器,很多东西都是相互关联想通。看了一篇文章https://www.cnblogs.com/nelsen-chen/p/9122629.html,后面要自己整理出逻辑来。

python作为解释性语言,相对于编译性语言的特点为,是一种边解释边运行的语言,而编译性语言需要完全编译后才可以运行。部分语言的改动都要从新编译,因此可脱离编译环境运行。解释性语言的特点,部分改动不需要整体编译,但离不开解释器。

解释性语言与编译性语言的本质性特征是,程序执行时是在实际的计算机上进行,还是在软件虚拟机上进行执行。python解释器(或者称其为python虚拟机?)在这其中充当的角色为,将源代码变成字节码pyc, python解释器并执行这些代码。

关于python的运行过程:

前面说到python需要边解释变运行,如果每次运行都要从头进行解释,将会进行大量重复性的工作。Python通过引入pyc文件来减少重复性解释工作。也就是将py文件的解释结果存放在pyc文件之中。关于pyc文件需要明确的几点:

1、当前调用的主程序不会生成pyc

2、只会import进来的模块生成pyc文件

3、每次使用pyc文件时,都会对其创建时间和其源模块进行对比,若源模块发生了修改则进行从新生成pyc

【Python】CPython解释器及字节码相关推荐

  1. Python的解释器和字节码

    首先我们先规定Python解释器指的是 CPython解释器. 1.py文件和pyc文件的区别是什么?为什么Python的解释这两个文件都能运行? CPython虚拟机既可以执行python文件,又可 ...

  2. 【Python】浅谈 字节码 + 虚拟机 (Python 解释器)

    目录 一.绪论 二.说明 2.1 字节码编译 2.2 Python 虚拟机 (PVM) 2.3 性能意义 ☆ 2.4 开发意义 三.小结 一.绪论 Python 通常被描述为一种 解释型语言,在这类语 ...

  3. python语言是机器语言_Python解释器:源代码--字节码--机器语言

    "一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1).这个过程通过编译器和不同的标记.选项完成.当你运行你的程序的时 ...

  4. python 字节码 汇编器_基础系列1-python解释器、PVM、源代码、字节码理解

    大家都会听到这么一种说法,python是脚本语言,一门解释型语言,那么什么是解释型语言呢? 为了回答这个问题,我们从头撸起 语言又大致分为3类:机器语言.汇编语言.高级语言,简单的解释来说: 机器语言 ...

  5. Python字节码介绍

    了解 Python 字节码是什么,Python 如何使用它来执行你的代码,以及知道它是如何帮到你的. 如果你曾经编写过 Python,或者只是使用过 Python,你或许经常会看到 Python 源代 ...

  6. python字节码大全

    ddis --- Python 字节码反汇编器 Source code: Lib/dis.py dis 模块通过反汇编支持CPython的 bytecode 分析.该模块作为输入的 CPython 字 ...

  7. python字节码转换_python字节码(转)

    了解 Python 字节码是什么,Python 如何使用它来执行你的代码,以及知道它是如何帮到你的. 如果你曾经编写过 Python,或者只是使用过 Python,你或许经常会看到 Python 源代 ...

  8. 深入理解 python 虚拟机:令人拍案叫绝的字节码设计

    深入理解 python 虚拟机:令人拍案叫绝的字节码设计 在本篇文章当中主要给大家介绍 cpython 虚拟机对于字节码的设计以及在调试过程当中一个比较重要的字段 co_lnotab 的设计原理! p ...

  9. 初探Python字节码和dis模块

    本文主要介绍 Python 字节码.Python 虚拟机内幕以及 dis 模块的简单应用.阅读本文预计 10 min. 初探Python字节码和dis模块 1. 前言 2. Python 字节码 2. ...

最新文章

  1. 如何实现iframe(嵌入式帧)的自适应高度
  2. 找到那些新时代的“操作系统”
  3. 香港计算机本科专业,中国香港计算机本科专业包含哪些呢?
  4. 边工作边刷题:70天一遍leetcode: day 33-3
  5. TCP/IP协议族(一) HTTP简介、请求方法与响应状态码
  6. STM32 基础系列教程 5 – 系统定时器
  7. 安阳工学院计算机二级成绩查询,2008年下半年计算机等级考试成绩可以查询了?...
  8. Python自动化办公之Excel拆分并自动发邮件
  9. 百度顶会论文复现(2):GAN综述
  10. vue 鼠标点击事件_VBA代码解决方案第115讲:点击鼠标实现精准控制触发事件的VBA代码第二方案...
  11. mysql挂载数据卷_记一次生产数据库数据文件进行分区转移
  12. 计算机职业学校杭州,杭州2021年计算机学校是干什么的
  13. 计算机科学与技术专业导论_“课程思政”建设经验分享 | 王振武:专业导论(计算机科学与技术)...
  14. k8s token 过期了怎么加入worker 节点
  15. VS2013好用的插件
  16. IT行业的工作内容是什么?
  17. HTTP代理模式学习
  18. 道可道,非常道;名可名,非常名
  19. kali linux无线驱动安装,Kali Linux 安装WIFI无线网卡驱动:rtl8822bu 教程
  20. 算法分析----基础知识点

热门文章

  1. 前端入门Python
  2. JCD 驱动 - 复杂系统设计应对之道
  3. Python爬虫 百度地图搜索数据采集
  4. 中国军工电子行业运营模式及十四五发展规划咨询建议报告2022-2027年
  5. 【codevs 2833】奇怪的梦境
  6. 数学界的扫地僧们(转载)
  7. mybatis-plus设置某个字段可以为空
  8. 10G数据,1G内存排序问题
  9. K-means与高斯混合模型
  10. 矩阵的逆(性质、求法)