Python3.x基础学习-闭包函数

Posted Johnsonbug

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python3.x基础学习-闭包函数相关的知识,希望对你有一定的参考价值。

闭包函数

在python中创建一个闭包一般有3个要求
1.闭包函数必须有内嵌函数
2.内嵌函数必须要引用外层函数的变量
3.外部函数返回内嵌函数的地址(函数名称)

判断是否为闭包函数 __closure__

 

def outter(num):
    def inner():
        print(num)
    print(inner.__closure__)  # (<cell at 0x00000218387798E8: int object at 0x0000000056298190>,)
    return inner()

outter(10)

# (<cell at 0x00000205E3ADA8E8: int object at 0x000000006BEB8190>,)
# 10

num = 10

def outter():
    def inner():
        print(num)
    print(inner.__closure__)
    return inner
outter()

# None

 

以上是关于Python3.x基础学习-闭包函数的主要内容,如果未能解决你的问题,请参考以下文章