热线电话:13121318867

登录
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()

  1. 从上面的代码中可以看出,闭包有助于调用其范围之外的函数。

2. 函数innerFunction的范围仅在outerFunction内。但是通过使用闭包,我们可以轻松地扩展其范围以调用其范围之外的函数。

0.0000
1
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子