Python 函数的嵌套指的是在一个函数中定义另一个函数的过程,这些被定义的函数称为嵌套函数。嵌套函数可以访问外部函数的变量,但外部函数不能访问嵌套函数的变量。嵌套函数可以在外部函数中被调用,也可以被传递给其他函数。
下面是一个简单的例子,其中有一个外部函数 outer_function() 和一个嵌套函数 inner_function():
def outer_function(): x = 2 def inner_function(y): return x + y return inner_function result = outer_function()(3) print(result) # 输出 5
在这个例子中,外部函数 outer_function() 定义了一个变量 x,并在其中定义了一个嵌套函数 inner_function(),该函数接受一个参数 y 并返回 x + y 的结果。在 outer_function() 中,我们返回了 inner_function。因此,当我们调用 outer_function() 并传入参数 3 时,实际上会返回 inner_function(3) 的结果,即 x + y,其中 x 的值为 2,y 的值为 3。因此,最终的结果为 5。
在上面的示例中,我们通过将嵌套函数返回给调用方来调用它。我们还可以在外部函数中直接调用嵌套函数,如下所示:
def outer_function(): x = 2 def inner_function(y): return x + y return inner_function(3) result = outer_function() print(result) # 输出 5
在这个例子中,我们直接在 outer_function() 中调用 inner_function(),并将参数 3 传递给它。在这种情况下,inner_function() 的结果直接作为 outer_function() 的结果返回。