要形成闭包,必须满足以下两个条件:
1. 在一个函数内部定义了另一个函数。
2. 内部函数引用了外部函数的变量。
示例代码如下:python
def outer_function(x):
def inner_function(y):
return x + y
return inner_function
closure = outer_function(10)
result = closure(5)
print(result) # 输出15
在上述示例中,outer_function
是外部函数,inner_function
是内部函数。outer_function
接收一个参数 x
,并返回 inner_function
。inner_function
引用了 outer_function
的参数 x
,形成了闭包。最后,我们通过 closure(5)
调用闭包,并得到结果 15。
闭包可以在函数内部保持状态,即使外部函数已经返回。这使得闭包非常灵活和强大,可以用来实现一些高级的编程技巧。