在32.12. dis — Disassembler for Python bytecode — Python 3.6.3 documentation中,有一个例子说:
示例:给定函数myfunc():
def myfunc(alist):
return len(alist)
以下命令可用于显示myfunc()的反汇编:
>>> dis.dis(myfunc)
2 0 LOAD_GLOBAL 0 (len)
2 LOAD_FAST 0 (alist)
4 CALL_FUNCTION 1
6 RETURN_VALUE
我可以理解
LOAD_GLOBAL
CALL_FUNCTION
和RETURN_VALUE
LOAD_FAST
是什么意思 最佳答案
根据Python dis docs:
LOAD_FAST(var_num)
将对本地co_varnames [var_num]的引用压入堆栈。
因此,在您的情况下,LOAD_FAST指令加载alist
以便能够将其传递给全局len
函数:
return len (alist)
RETURN_VALUE LOAD_GLOBAL LOAD_FAST
< CALL_FUNCTION >
关于python - Dis模块中的LOAD_FAST,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47655315/