闭包在以下情况下被创建:
下面是一个包含闭包的代码示例:
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 的值保持在内存中,可以在后续调用中使用。