1,闭包概念:内部函数对外层函数变量的引用,而非引用全局变量,该内部函数称为闭包函数
优点:1,) 安全,防止变量被污染. 2,) 常驻内存,提高效率
def func():
name = '小仙' #外部函数的局部变量
def new_func():
print(name) #内部函数引用外部 name 变量
由于作用域的关系,内层函数不能直接访问,但是可以将此内部函数名返回后再调用,这也是闭包函数最常用的方法:
def func(): name = '小仙' #外部函数的局部变量 def new_func(): print(name) #内部函数引用外部 name 变量
return new_func #将闭包函数返回
f = func() #f接受到 new_func
f()#执行内部函数 new_func()