定义闭包,维基百科上的解释是:
在计算机科学中,闭包(Closure)是词法闭包(Lexical Closure)的简称,是引用了自由变量的函数。这个被引用的自由变量将和这
个函数一同存在,即使已经离开了创造它的环境也不例外。所以,有另一种说法认为闭包是由函数和与其相关的引用环境组合而成的实
体。
这里的另一个是闭包。闭包本质上是一个函数,它由两部分组成,打印机函数和变量msg。闭包始终将这些变量的值保存在内存中。
闭包,顾名思义,就是对自由变量进行封装的封闭包,就像类中定义的属性值一样。自由变量的可见范围与它一起包装。在你可以访问此包的地方,你可以访问此自由。多变的。
作为一等对象,函数可以作为函数的返回值返回。现在让我们考虑以下示例:
def print_msg():
# print_msg 是外围函数
msg = "zen of python"
def printer():
# printer 是嵌套函数
print(msg)
return printeranother = print_msg()# 输出 zen of pythonanother()
这段代码和前面的例子效果完全一样,也输出了“zen of python”。不同的是内部函数printer直接作为返回值返回。
一般来说,函数中的局部变量只在函数执行期间可用,一旦 print_msg() 执行完毕,我们就会认为 msg 变量不再可用。但是这里我们发现,在执行完print_msg之后,调用另一个的时候,msg变量的值是正常输出的。这就是闭包的作用。闭包使得局部变量可以在函数之外被访问。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 如何转换python字符串大小写11/26
- ♥ 如何写出优雅的python11/20
- ♥ 什么是python框架09/23
- ♥ 如何在python中使用yield?10/19
- ♥ python是后端吗?10/30
- ♥ 如何判断python中的数组是否为空09/08
内容反馈