从返回的函数中访问引用的关闭值

时间:2018-11-17 11:40:37

标签: python

我关闭了

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)的实际值?

0 个答案:

没有答案