什么是闭包,闭包的常用用法,怎样判断是不是闭包,闭包的作用是
1、什么是闭包
内层函数对外层函数的非全局变量的引用叫闭包,他的本质是函数的嵌套
2、常用用法
外部函数需要调用内层函数,就返回一个函数名 典型示例:装饰器
3、判断是不是闭包
函数名.__closure__ 返回None,则不是闭包, 返回Cell...... 则是闭包
4、闭包的作用是
保存函数的状态信息,使函数的局部变量信息依然可以保存下来(保存局部信息不被销毁)
global
他的作用是在函数局部作用域内声明一个全局变量,从而可以在函数内部修改全局变量的值(否则只能访问,无法修改),而且函数内部改变的全局变量的值也会改变
nonlocal
1.不能修改全局变量。
2.在局部作用域中,对父级作用域(或者更外层作用域非全局作用域)的变量进行引用和修改,并且引用的那层,从那层及以下此变量全部发生改变
网友评论