在Python中修改闭包的绑定变量。
- 论坛
- 在Python中修改闭包的绑定变量。
20 浏览
在Python中修改闭包的绑定变量。
有没有办法修改闭包内的某个变量的绑定值?看看下面的示例更好地理解它。
def foo(): var_a = 2 var_b = 3 def _closure(x): return var_a + var_b + x return _closure localClosure = foo() # Local closure 现在是 "return 2 + 3 + x" a = localClosure(1) # 2 + 3 + 1 == 6 # 在这里做些魔法,将闭包中的 "var_a" 变成 0 # ...但是什么魔法?这可能吗? # Local closure 现在是 "return 0 + 3 + x" b = localClosure(1) # 0 + 3 +1 == 4