闭包。就是把包给闭起来,开个玩笑 首先复习一下函数 。 def index(): number = 10 print(number) 当函数调用完成后,number 在内存中就没有了, 这是由于函数的一般在栈区,所以当函数调用完成时。栈中会自动退栈。值也就没了。 为了保持值在里面的状态,所以python 中引用了闭包的概念也就是为了能够把数据持续化保存。 在人的生活中有的东西,我们想存起来,想用的拿出来。不想用的时候,放着。其没有发生变化。就是闭包了。。 那么在编程中, 函数在每次调用结束后,会去自动销毁内容,那么为了保持函数里面的值,所以用到了闭包 。 那么在Python中都是用的引用传递,并没有所谓的值传递。 # 闭包概念: # 1、在一个函数中定义了一个函数, # 2、里面的函数使用到了外面函数的数据, # 3、并且外面这个函数的返回值是里面这个函数的引用,我们管这个过程称之为闭包。 def outer(): number = 10 def inner(): print(number) return inner inner_func = outer() inner_func() import time time.sleep(3) inner_func()