编辑
2025-06-26
Python
00
请注意,本文编写于 37 天前,最后修改于 37 天前,其中某些信息可能已经过时。

目录

闭包理解
正常情况访问
闭包情况

闭包理解

在 Python 中,通常情况下,函数只能访问其定义时的局部变量和全局变量。局部变量在函数执行完毕后会被销毁,无法在函数外部直接访问。然而,闭包允许内部函数在外部函数执行完毕后,仍然能够访问外部函数的局部变量

正常情况访问

python
def example_function(): x = 10 print(x) example_function() # print(x) # 这会导致 NameError,因为 x 是 example_function 的局部变量,无法在函数外部访问。

闭包情况

python
def outer_function(): x = 10 def inner_function(): return x return inner_function closure = outer_function() print(closure()) # 输出: 10

inner_function 是一个闭包,它捕获了 outer_function 的局部变量 x。即使 outer_function 已经执行完毕,inner_function 仍然可以访问 x

总结:闭包是由一个外部函数和一个内部函数构成的。内部函数可以访问外部函数的局部变量,日常高频应用在装饰器场景中;

本文作者:lixf6

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!