昆明网站建设昆明,广州品牌网络营销方式,京东网站设计分析,广告制作公司电话定义#xff1a; 在一个内部函数里#xff0c; 对在外部作用域#xff08;但不是在全局作用域#xff09; 的变量进行引用#xff0c; 那么内部函数就被认为是闭包#xff08;closure#xff09;。 例子#xff1a; 1 def make_adder(addend):2 def adder(augend):3 …定义 在一个内部函数里 对在外部作用域但不是在全局作用域 的变量进行引用 那么内部函数就被认为是闭包closure。 例子 1 def make_adder(addend):2 def adder(augend):3 return augend addend4 return adder6 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闭包可以根据外部作用域的局部变量来得到不同的结果。 转载于:https://www.cnblogs.com/lmh001/p/9552406.html