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基础学习-闭包函数的主要内容,如果未能解决你的问题,请参考以下文章

Python3.x基础学习-函数用法

Python3.x基础学习-生成器用法

21天学习python编程_闭包

go语言学习笔记 — 基础 — 函数:闭包(closure)—— 引用了外部变量的匿名函数

Spark闭包与序列化

Python3.x基础学习-异常报错处理