Mar*_*ers 20
该dis模块反汇编代码对象(使用__dict__命名空间从函数,类和对象中提取代码对象).
这意味着您可以使用它来拆卸整个模块:
import dis
dis.dis(dis)
Run Code Online (Sandbox Code Playgroud)
虽然这并不像你想象的那么有趣,因为大多数模块包含多个函数和类,导致大量输出.
我通常专注于我感兴趣的具体方面的小功能; 比如为链式比较生成什么字节码:
def f(x):
return 1 < x ** 2 < 100
dis.dis(f)
Run Code Online (Sandbox Code Playgroud)
例如.