首页 > 其他 > 详细

函数-闭包函数

时间:2018-05-02 12:11:54      阅读:221      评论:0      收藏:0      [点我收藏+]

闭包函数:

 内部函数引用外部函数而非全局作用域的变量,该内层函数称为闭包函数

 闭包好处:若python检测到闭包,局部作用域不会随着函数的结束而关闭,会一直在内存中。

这才是闭包函数最常用的用法:爬虫,装饰器

def func():

    name = ‘eva‘

    def inner():

        print(name)

    return inner

f = func()

f()

判断闭包函数的方法__closure__

 

#输出的__closure__有cell元素 :是闭包函数

def func():

    name = ‘eva‘

    def inner():

        print(name)

    print(inner.__closure__)

    return inner

 

f = func()

f()

 

#输出的__closure__为None :不是闭包函数

name = ‘egon‘

def func2():

    def inner():

        print(name)

    print(inner.__closure__)

    return inner

 

f2 = func2()

f2()

闭包的嵌套
def wrapper():

    money = 1000

    def func():

        name = ‘eva‘

        def inner():

            print(name,money)

        return inner

    return func

 

f = wrapper()

i = f()

i()

函数-闭包函数

原文:https://www.cnblogs.com/xyn123/p/8979185.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!