Python基础-day11-闭包

只要是闭包,一定是嵌套函数,且内部函数调用外部函数的变量

 

def outer():

    a = 1

    def inner():

        print(a)


1、这是一个嵌套函数,inner函数嵌套在outer函数内部

2、inner函数调用了outer函数中的变量a

 

闭包函数:上面的inner就是闭包函数

这里千万注意,闭包和闭包函数不是一个概念。

 

inner.__closure__,如果返回的结果中是这样的结构,表明inner是一个闭包函数:

(<cell at 0x018CEED0: int object at 0x0FEC64B0>,)

 

闭包的使用场景:

将内部的闭包函数 inner作为返回值返回去,这样,我们就能在函数外部去使用另一个函数内部的函数。

 

 

 

posted @ 2019-11-01 16:53  道霖  阅读(113)  评论(0)    收藏  举报