闭包在以下情况下被创建:
下面是一个包含闭包的代码示例:
def outer_function(x):
def inner_function(y):
return x + y
return inner_function
closure = outer_function(5)
result = closure(3)
print(result) # 输出 8
在这个示例中,inner_function
内部引用了 outer_function
的变量 x
,因此 inner_function
就是一个闭包。当调用 outer_function(5)
时,返回了一个包含闭包的函数对象 closure
。然后,我们可以通过调用 closure(3)
来使用闭包,并将结果存储在 result
变量中。最终,打印出的结果是 8
,因为闭包将外部函数的变量 x
的值保持在内存中,可以在后续调用中使用。