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等无用内存