Python基础教程:闭包

使用一个函数来创建另一个函数,一个函数位于另一个函数中,且外面的函数返回里面的函数,而不是调用它。重要的是,返回的函数能够访问其定义所在的作用域。每当外部函数被调用时,都将重新定义内部的函数。像存储其所在作用域的函数称为闭包。

name = 'watkins'
# “遮盖”问题:局部变量或参数与要访问的全局变量同名,可使用函数globals来访问全局变量
def combine(name):
    print(name, globals()['name'])  # pjing watkins

combine('pjing')

def multiplier(factor):
    def multiplyByFactor(number):
        return number * factor
    return multiplyByFactor

double = multiplier(2)
triple = multiplier(3)
print(double(5), triple(3), multiplier(5)(4))   # 10 9 20

(最近更新:2019年04月12日)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值