python字节码_如何使用Python字节码?

本文转自老男孩教育,转载请注明出处:http://www.oldboyedu.com

如果你曾经编写亦或只是使用Python语言,那么你可能已经习惯了看Python源码文件; 源码的文件名以.py结尾。或许你也已经注意到了另一种类型的文件,文件名以.pyc结尾,或许你已经听说过它们就是Python的“字节码”文件。(但在Python 3上却难觅其踪 -- 原因是它们不再与.py文件出现在同一个目录中,而是放在一个名为__pycache__的子目录中了)。或许你也已听说过这是一种程序加速机制。通过防止Python每次运行时都重新解析源代码从而加快程序运行。

**Python中如何使用python字节码工作?**

Python经常被称为是一种解释型语言 -- 一种源代码在程序运行时被即时翻译成原生CPU指令的语言 - 但这只说对了一部分。与其他许多解释型语言一样,Python实际上将源代码编译为一组虚拟机指令,Python的解释器就是该虚拟机的一个具体实现。这种跑在虚拟机内部的中间格式被称为“字节码”。

因此,Python留下的.pyc文件不仅仅是源代码的一个“更快”或“优化”版本; 实际上,它们是在程序运行时由Python的虚拟机来执行的字节码指令。

**Python虚拟机内部**

CPython使用的是基于栈的虚拟机。也就是说,它完全围绕着栈数据结构来运行(您可以将一项内容“压入”栈,放到栈结构的“顶部”,或者从栈“顶部”“弹出”一项内容)。

**如何访问和理解Python字节码?**

如果你也想玩玩这个,Python标准库中的dis模块就非常有用了; dis模块为Python字节码提供了一个“反汇编程序”,从而可以轻松获取人为可读的版本并查找各种字节码指令。dis模块的文档涵盖了相关内容,并提供了字节码指令以及它们的作用和参数的完整清单。

有疑问加站长微信联系(非本文作者)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值