1 定义
定义:在计算机科学中,闭包是词法闭包的简称,是引用了自由变量的函数
简单地说:闭包就是能够读取其他函数内部变量的函数,闭包是将函数内部和函数外部连接起来的桥梁。——来源百度百科
2 描述
形成闭包的条件:
1. 闭包必须要有内部函数
2. 必须在内部函数中引用了外层函数的变量,即自由变量
3. 外层函数必须讲内层函数返回
优点:
1.延长了局部变量的生命周期
2.加强了封装性
缺点:
1.加重内存负担
2.内部函数可以修改外部函数变量,容易产生误修改
def outer(x): def inner(y): return x ** y return innerf = outer(2)print(f(3)) # 8
a = 1def fun(a,b): return a + bdef fun1(a,b,c): return a(b,c)print(fun1(fun,1,2)) # 3