python中的闭包例解

以前在ruby中用过闭包,看到python cookbook里面介绍了python的闭包的概念,并附上了相关的例子:

什么是闭包?

闭包(closure)简单的解释就是“内层函数”,由一个名字(变量)来指代,而这个名字(变量)对于“外层”包含它的函数而言,是本地变量:

    eg:

def make_adder(addend):
    def adder(augend):
        return augend+addend
    return adder

执行p=make_adder(23)将产生内层函数adder的一个闭包,这个闭包在内部引用了名字addend,addend,而addend又绑定到数值23。q=make_adder(42)又产生了另一个闭包,这次名字addend则绑定到了值42.q和p相互之间并无关联,因此他们可以相互独立地和谐共处。

>>print p(100)

123

>>print q(100)

142



转载于:https://my.oschina.net/chenlei123/blog/128363

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值