"""闭包(在函数外边调用函数内部的函数及变量)"""
def func(n):
def func_in(n_in):
print("n_in is %d" % n_in)
return n + n_in
print("n is %d" % n)
return func_in # 返回内部函数名
ret = func(20) # ret=func_in,ret()=func_in(),n=20
print(ret(100)) # func_in(100),n_in=100
print(ret(200))
print(ret(300)) # 每次只更改n_in这个值,n不变就不需要每次都传
通过闭包,可以在多次调用时,只传递需要改动的部分,快捷并更能保证正确性。