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,我想一次给他们打电话。
在四个子函数中定义variable
为nonlocal
:
def sub_function():
nonlocal 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,我想一次给他们打电话。
在四个子函数中定义variable
为nonlocal
:
def sub_function():
nonlocal variable