首页 > 代码库 > dis进行反编译
dis进行反编译
摘录自官方文档:
https://docs.python.org/2/library/dis.html
回头自己也脑补下。
可以使用dis查看自己代码的复杂度之类的东西。
比如while 1 和while True哪个效率更高。
定义两个方法,分别使用while循环
def w() : while 1 : passdef w2() : while True: pass
单从功能上说,两种无任何区别,那么,来看看字节码上的区别:
import dis #载入反编译模块,Python内置的dis.dis(w) #对应的是while 1,下面是输出 2 0 SETUP_LOOP 3 (to 6) 3 >> 3 JUMP_ABSOLUTE 3 >> 6 LOAD_CONST 0 (None) 9 RETURN_VALUEdis.dis(w2) #对应的是while True,下面是输出 2 0 SETUP_LOOP 10 (to 13) >> 3 LOAD_GLOBAL 0 (True) 6 POP_JUMP_IF_FALSE 12 3 9 JUMP_ABSOLUTE 3 >> 12 POP_BLOCK >> 13 LOAD_CONST 0 (None) 16 RETURN_VALUE
很明显, while 1的字节码只有while True的一半. 为什么呢? 因为Python2.x中True不是关键字,只是一个全局变量而已
dis进行反编译
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。