本文主要是介绍【python源码剖析】——使用dis模块把Python反编译为字节码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
转载自:https://blog.csdn.net/qinzhenhua100/article/details/79795949
dis — Disassembler for Python bytecode,即把python代码反汇编为字节码指令。
使用超级简单:python -m dis xxx.py
Python 代码是先被编译为字节码后,再由Python虚拟机来执行字节码, Python的字节码是一种类似汇编指令的中间语言,一个Python语句会对应若干字节码指令,虚拟机一条一条执行字节码指令,从而完成程序执行。
Python dis 模块支持对Python代码进行反汇编,生成字节码指令。
当我在网上看到while 1比while True快的时候,我感到很困惑,为何会有这种区别呢? 于是使用dis来深入。
假设test_while.py代码如下:
#coding=utf-8
while 1:pass while True:pass
下面是使用dis来进行剖析。
E:\>python -m dis test_while.py 2 0 SETUP_LOOP 3 (to 6) 3 >> 3 JUMP_ABSOLUTE 3 5 >> 6 SETUP_LOOP 10 (to 19) >> 9 LOAD_NAME 0 (True)
这篇关于【python源码剖析】——使用dis模块把Python反编译为字节码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!