闭包那些事
Posted lmh001
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了闭包那些事相关的知识,希望对你有一定的参考价值。
定义:
在一个内部函数里, 对在外部作用域(但不是在全局作用域) 的变量进行引用, 那么内部函数就被认为是闭包(closure)。
例子:
1 def make_adder(addend): 2 def adder(augend): 3 return augend + addend 4 return adder 6 p = make_adder(23) 7 q = make_adder(44) 8 9 print p(100) 10 print q(100) 11
12 运行结果: 13 123 14 144
闭包必须满足三个条件:
1. 必须有内嵌函数
2. 内嵌函数必须引用外部函数中的变量
3. 外部函数返回值必须是内嵌函数.
使用闭包注意事项:
1.闭包中是不能修改外部作用域的局部变量的
2.通过return返回的每一个闭包内的活动对象都是独立的
作用:
用途1:当闭包执行完后,仍然能够保持住当前的运行环境。
用途2:闭包可以根据外部作用域的局部变量来得到不同的结果。
以上是关于闭包那些事的主要内容,如果未能解决你的问题,请参考以下文章