#闭包,
二个必要条件:
在内部函数里使用外部函数的局部变量,同时外部函数还要将内部函数返回.
#L E G B:Local Enclosure Global build in
a=10
def outerfunc():
b=1 #函数局部变量Local
def innerfunc(a):
x=1
y=b+x+a
print(y)
pass
return innerfunc
pass
f=outerfunc()
(1)
c=1
#函数执行完之后,局部变量销毁,但是在闭包结构下,外部函数被调用后
#如果内部函数使用了外部函数的局部变量,那么这种临时变量会被保留,上述的b是外部函数的局部变量,一般来说,函数局部变量在执行完函数会销毁,在闭包这种结构会被临时保留。