詹惠儿

2018-12-23   阅读量: 696

数据分析师 Python编程

闭包是什么?

扫码加入数据分析学习群

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内。但是通过使用闭包,我们可以轻松地扩展其范围以调用其范围之外的函数。

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
0.0000 0 1 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子