闭包的概念:在函数中定义一个内函数,内函数里运用了外层函数的局部变量,并且外函数的返回值为内函数。这个内函数就称为闭包函数
例子如下:
def func1():
a = 1
def func2():
nonlocal a #nonlocal将外层局部变量引入内层
a = a + 1
return a
return func2
ret= func1()
r1 = ret()
r2 = ret()#实现计数器的功能
print(r1)
print(r2)
闭包的作用:
1.让变量常驻内存
通常一个函数执行结束后会将局部变量释放还给内存,但闭包是一个特例,外函数将局部变量绑定给内函数
2.访问函数内部的变量
在实际的工程实践中,使用全局变量是十分危险的,非常容易被别人修改。闭包的出现可以安全地。访问函数内部的变量