闭包(closure)

1.Defination

闭包首先是一个嵌套函数,其次内部函数必须调用外部函数的变量,也就是外部函数的局部变量。闭包的意义在于局部变量不再重复定义赋值,固定占用一定的内存地址。

1 def outer():
2     a=1   #外部函数的局部变量,闭包的意义是延长了这个变量的储存周期。
3     def inner():
4         print(a) #只要是调用a即可
5     renturn inner #返回inner内存地址给outer()
6 inn=outer() #inn此时创建的一个全局变量
7 inn() #全局函数随时可以调用inner内部函数,并且不会产生outer等无用内存
原文地址:https://www.cnblogs.com/fimw/p/9804897.html