4

来自维基百科

我需要以与使用 python 3.x 中的“非本地”关键字类似的方式访问外部函数变量。有没有办法在 python 2.6 中做到这一点?(不一定使用 nonlocal 关键字)

4

1 回答 1

5

在这种情况下,我总是使用辅助对象:

def outerFunction():
    class Helper:
        val = None
    helper = Helper()

    def innerFunction():
        helper.val = "some value"

当您启动一个应该将值写入外部函数范围的新线程时,这也会派上用场。在这种情况下,helper将作为参数传递给innerFunction(线程的函数)。

于 2010-09-11T19:37:31.737 回答