函数闭包
#闭包Cell:嵌套的函数,且内部函数调用外部函数的变量 def outer(): a = 1 def inner(): #inner是一个闭包 print(a) # print(inner.__closure__) return inner inn = outer() #inn变量接收outer返回的inner函数内存地址 inn() #不使用闭包,每次调用inner需要调用outer,创建变量,回收变量 #使用闭包时,inn接收了inner函数的内存地址,因此inner函数不会被回收,inner使用的a也不会被回收。 # 因此外层函数的变量不会释放。保护了a变量,延长了a的生存周期,节省了反复创建的过程。

浙公网安备 33010602011771号