Python 3 嵌套函数变量

Python 3 Nested Functions Variable

def main_function():
    variable = blur.copy() #copy of a blurred image that is defined in main_function

    def sub_function():
            global res
            variable = a_library_function(variable, other parameters)
    sub_function()
main_function() 

当我尝试 运行 代码时,returns "name 'variable' is not defined"。它在没有 main_function 的情况下运行良好。我这样做是因为有很多 sub_functions,我想一次给他们打电话。

在四个子函数中定义variablenonlocal:

def sub_function():
    nonlocal variable