```python
#闭包 针对函数 在函数中提出的概念 在函数中嵌套函数
#闭包具备的条件,第一个 函数嵌套函数 第二个外部函数的返回值是内部函数名--注意这里不能加括号,加括号代表的调用 第三个内部函数使用外部函数的变量
"""
格式
def 外部函数():
def 内部函数():
.......
....
return 内部函数名字
"""
def func():
a=100
def inner():
b=99
print(a+b)
return inner
x=func()#x就是内部函数,函数名+括号=调用函数
x()
def func1(a,b):
c=10
def add():
print(a+b+c)
return add
a=func1(10,20)#在外部函数调用的时候必须用一个变量接受func1的返回值,就相当于a=add()
b=func1(20,30)
a()
b()
"""
闭包的简单实用
闭包:1.可以记录状态,保存对外部函数引用的状态。
a=func1(10,20)#在外部函数调用的时候必须用一个变量接受func1的返回值,就相当于a=add()
b=func1(20,30)#b已经记录了a和b的值,不会受到外界ab值改变的影响
a()
b()
不会影响当前的状态。a、b变化不会影响到内部函数的变化。(因为函数在调用结束之后,空间会被收回。但是内部函数并没有被收回)
2.读取其他元素的内部变量
3.延长作用域
"""
