首页 > 编程语言 > 详细

python基础-闭包

时间:2019-02-12 19:48:53      阅读:163      评论:0      收藏:0      [点我收藏+]
def bibao():
    li = []
    n = [1]
    def inner():
        li.append(n[0])
        n[0] +=1
        print(li)
    return inner

b = bibao()
b()
b()
结果分别为[1]和[1,2]

  

简述

内部函数被当做对象返回时,夹带了这个内部函数之外的自由变量

闭包:带着当前变量环境的函数

b是inner函数,具有当前变量的值,li是一个空列表,n=[1]

b(),当b被调用时,li.append(1),n=[2],li=[1],这些变量都被存储在了__closure__[0]中

 

python基础-闭包

原文:https://www.cnblogs.com/taomin/p/10366793.html

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