首页 » 信息技术 »

Python的闭包

2018年12月1日 / 40次阅读
Python

  • 打开支付宝,搜索“ 529018372 ”,领取专属红包!每日支付每日领。

Python代码中,可以定义嵌套函数,即在函数中再定义一个函数。嵌套函数有什么特别之处吗?因为闭包。

简单说,闭包就是嵌套的内层函数能够记住外层函数的namespace,在外层函数返回之后,内层函数还可以正常访问外层的这些变量。看如下代码:

def outer():
    msg = 'hello world'
    def inner():
        print(msg)
    return inner
>>> func = outer()
>>> func()
hello world

闭包有2个特点:

1, inner能访问outer及其祖先函数的命名空间内的变量(局部变量,函数参数)。
2, 调用outer已经返回了,但是它的命名空间被返回的inner对象引用,所以还不会被回收。

这部分想深入可以去了解Python的LEGB规则。

Python有了闭包,就可以创建函数的装饰器了。

本文链接:http://www.maixj.net/ict/bibao-19443

相关文章

留言区

电子邮件地址不会被公开。 必填项已用*标注


前一篇:
后一篇:
推一篇:可靠正规,长期稳定,网络兼职项目!!

栏目精选

云上小悟,麦新杰的独立博客

Ctrl+D 收藏本页

栏目


©Copyright 麦新杰 Since 2014 云上小悟独立博客版权所有 备案号:苏ICP备14045477号-1。云上小悟网站部分内容来源于网络,转载目的是为了整合信息,收藏学习,服务大家,有些转载内容也难以判断是否有侵权问题,如果侵犯了您的权益,请及时联系站长,我会立即删除。

网站二维码
go to top