2018-12-23
阅读量:
873
闭包是什么?
Closure是一个函数对象,它记住封闭范围中的值,即使它们不在内存中也是如此。
- 它是一个将函数与环境一起存储的记录:将函数的每个自由变量(本地使用但在封闭范围中定义的变量)与关闭时绑定名称的值或引用相关联的映射创建了。
- 闭包 - 与普通函数不同 - 允许函数通过闭包的值或引用的副本访问这些捕获的变量,即使在函数范围之外调用该函数也是如此。
# Python program to illustrate
# closures
def outerFunction(text):
text = text
def innerFunction():
print(text)
return innerFunction # Note we are returning function WITHOUT parenthesis
if __name__ == '__main__':
myFunction = outerFunction('Hey!')
myFunction()
- 从上面的代码中可以看出,闭包有助于调用其范围之外的函数。
2. 函数innerFunction的范围仅在outerFunction内。但是通过使用闭包,我们可以轻松地扩展其范围以调用其范围之外的函数。






评论(0)


暂无数据
推荐帖子
0条评论
0条评论
0条评论