什么是字节码?python字节码详细介绍!
16lz
2021-03-08
学习Python的过程中,大家经常听到的就是Python源码文件,其实还有另外一种类型的文件,那就是Python字节码。那么你知道什么是Python字节码吗?如何使用python字节码工作呢?如何访问和理解Python字节码呢?我们一起来看看吧。
如何使用python字节码工作?
Python经常被称为是一种解释型语言 -- 一种源代码在程序运行时被即时翻译成原生CPU指令的语言 - 但这只说对了一部分。与其他许多解释型语言一样,Python实际上将源代码编译为一组虚拟机指令,Python的解释器就是该虚拟机的一个具体实现。这种跑在虚拟机内部的中间格式被称为“字节码”。
因此,Python留下的.pyc文件不仅仅是源代码的一个更快或优化版本; 实际上,它们是在程序运行时由Python的虚拟机来执行的字节码指令。
Python虚拟机内部
CPython使用的是基于栈的虚拟机。也就是说,它完全围绕着栈数据结构来运行(您可以将一项内容“压入”栈,放到栈结构的“顶部”,或者从栈“顶部”“弹出”一项内容)。
如何访问和理解Python字节码呢?
dis模块为Python字节码提供了一个反汇编程序,从而可以轻松获取人为可读的版本并查找各种字节码指令。dis模块的文档涵盖了相关内容,并提供了字节码指令以及它们的作用和参数的完整清单。
©著作权归作者所有:来自51CTO博客作者mb5fd1925b5d585的原创作品,如需转载,请注明出处,否则将追究法律责任更多相关文章
- Cglib 和 Mica Bean copy 生成字节码对比
- C语言将float拆分为4个hex传输与重组
- C语言打印数据的二进制格式-原理解析与编程实现
- 【docker】docker其实很简单
- 【mysql】ipv4地址转换为4字节整数
- 【java】面试官问我,如何实现一个自定义序列化
- 虚拟机常见的网络类型有哪些?linux运维学习
- Java与php的一些关联
- 还不明白可空类型原理? 我可要挖到底了