`快速加载`in dis modu

2024-09-28 01:32:00 发布

您现在位置:Python中文网/ 问答频道 /正文

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_GLOBALCALL_FUNCTIONRETURN_VALUE

什么是LOAD_FAST


Tags: 示例forlenreturnvaluedocumentationloadfunction
1条回答
网友
1楼 · 发布于 2024-09-28 01:32:00

根据Python dis docs

LOAD_FAST(var_num)

Pushes a reference to the local co_varnames[var_num] onto the stack.

因此,在您的例子中,LOAD\u FAST指令加载alist,以便能够将其传递给全局len函数:

return        len          (alist)

RETURN_VALUE  LOAD_GLOBAL  LOAD_FAST
                < CALL_FUNCTION >

相关问题 更多 >

    热门问题