知行编程网知行编程网  2022-09-10 08:30 知行编程网 隐藏边栏  1 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于什么是python的闭包的相关知识,包括python listdir,以及javascript闭包这些编程知识,希望对大家有参考作用。

python中的闭包是什么

定义闭包,维基百科上的解释是:

在计算机科学中,闭包(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变量的值是正常输出的。这就是闭包的作用。闭包使得局部变量可以在函数之外被访问。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享