闭包成立条件:
def fun():
def fun1():
return fun1
# 调用函数
x = fun()
# 打印函数值
x()
可以使用同级的作用域
def fun():
def fun1():
def fun2():
fun1()
return fun2
闭包的应用
1.保存返回闭包时的状态(外部函数变量)
def func(a, b):
c = 10
def inner_func():
s = a + b + c
print('相加之后的结果是:', s)
return inner_func
# 调用func
ifunc = func(6, 9) # ifunc就是inner_func ifunc = inner_func
ifunc1 = func(2, 8)
ifunc2 = func(1, 9)
print(ifunc)
print(ifunc1)
print(ifunc2)
ifunc1()
ifunc()
ifunc2()