我需要以与使用python 3.x中的'nonlocal'关键字类似的方式访问外部函数变量。有没有办法在python 2.6中做到这一点? (不一定使用nonlocal关键字)
答案 0 :(得分:5)
在这种情况下,我总是使用辅助对象:
def outerFunction():
class Helper:
val = None
helper = Helper()
def innerFunction():
helper.val = "some value"
当你启动一个应该将值写入外部函数作用域的新线程时,这也会派上用场。在这种情况下,helper
将作为参数传递给innerFunction
(线程的函数)。