首页 > 解决方案 > 从返回的函数访问引用的闭包值

问题描述

我有一个关闭

def create_f():
   a = 5
   def _inner(x):
      return a * x
   return _inner
f = create_f()

嵌套函数f是指a在封闭函数中定义的值。是否可以访问a仅具有的值f,例如:

get_deref_value_magic('a', f) # should be 5

我需要这个,因为我正在编写一个反汇编函数的模块,使用dis从中创建 OpenCL/Cuda 代码。在这种情况下,我坚持使用以下说明,因为我不知道如何访问该值a

指令(opname='LOAD_DEREF',opcode=136,arg=0,argval='a',argrepr='a',offset=0,starts_line=22,is_jump_target=False)

(如何)我可以访问a(即5)的实际值?

标签: python

解决方案


推荐阅读