您的位置:首页 > 编程语言 > Python开发

python闭包

2015-09-23 16:36 197 查看
def make_adder(addend):
def adder(augend):
return augend + addend
return adder

p = make_adder(23)
q = make_adder(44)

print p(100)
print q(100)

运行结果:
123
144

分析一下:
我们发现,
make_adder
是一个函数,包括一个参数
addend
,比较特殊的地方是这个函数里面又定义了一个新函数,这个新函数里面的一个变量正好是外部
make_adder
的参数.也就是说,外部传递过来的
addend
参数已经和
adder
函数绑定到一起了,形成了一个新函数,我们可以把
addend
看做新函数的一个配置信息,配置信息不同,函数的功能就不一样了,也就是能得到定制之后的函数.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: