python 函数--闭包函数
一、闭包函数:
在一个外函数中定义一个内函数,内函数里运用了外函数的临时变量,并且外函数的返回值是内函数的引用。
二、实例:
def outer(a): #外函数 b = 10 #临时变量 def inner(): #内函数 print(a+b) return inner if __name__ == "__main__": demo = outer(5) #调用外函数传入值 demo() #15 #内部函数调用外部函数变量,相当于执行inner函数 demo1 = outer(7) demo1() #17
三、闭包函数修改外函数局部变量:
nonlocal是python3中的语法
def outer(x): def inner(y): nonlocal x #nonlocal选取全局变量。 x += y return x return inner a = outer(10) print(a(10)) print(a(600))
四、使用
1、可以当成装饰器使用
2、实现单利模式
引用:https://www.cnblogs.com/Lin-Yi/p/7305364.html