闭包

闭包不是Python独有的概念, 闭包是指在函数中可以(嵌套)定义另一个函数时, 如果内部的函数引用了外部的函数的变量, 则可能产生闭包。运行时, 一旦外部的 函数被执行, 一个闭包就形成了, 闭包中包含了内部函数的代码, 以及所需外部函数中的变量的引用。

也就是说, 在函数中声明另一个函数, 里面的函数如果引用了外层函数中的变量, 那么就形成了一个闭包。例如:

1
2
3
4
5
6
7
8
9
In [1]: def foo(): 
...: a = 1
...: def bar():
...: print(a)
...: bar()
...:
In [2]: foo()
1

这个例子中, bar这个函数就是闭包函数, 它引用了 foo 函数中声明的变量 a


闭包
https://maocat.cc/2020/04/15/Python/闭包/
发布于
2020年4月15日
许可协议