1、使用dis.dis函数可以反汇编多种内容。如图查看hello函数的字节码反汇编,首先import dis,然后将函数传入dis.dis。
2、反汇编效果如图,这是用于Python虚拟机的表示。可以看到,反汇编将函数显示为了一系列被python解释器执行的原子操作。
3、使用dis.dis还可以反汇编一个python类。如图写了一个MyClass类,含有初始化函数和一个成员函数。
4、通过反汇编,可以看到函数被各个反汇编。计算表达式被反汇编为一系列load指令和二元运算指令。
5、反汇编还可以处理字符串表示的代码。当代码用字符串表示时,注意字符转义问题,如图。
6、运行,可以看到使用eval可以运行一个字符串表示的代码,使用dis.dis可以查看其反汇编。这是一个带参数函数调用的反汇编。
7、使用这种反汇编功能还可以查看模块的反汇编。如图import 一个文件,查看该文件(模块)的反汇编。