通常,您这样做是为了 关闭
:
def make_adder(x): def add(y): return x + y return addplus5 = make_adder(5)print(plus5(12)) # prints 17
内部函数可以从封闭范围访问变量(在这种情况下,是局部变量
x)。如果您不从封闭范围访问任何变量,那么它们实际上只是具有不同范围的普通函数。

通常,您这样做是为了 关闭
:
def make_adder(x): def add(y): return x + y return addplus5 = make_adder(5)print(plus5(12)) # prints 17
内部函数可以从封闭范围访问变量(在这种情况下,是局部变量
x)。如果您不从封闭范围访问任何变量,那么它们实际上只是具有不同范围的普通函数。