一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

python装饰器闭包函数使用方法

时间:2015-05-02 编辑:简简单单 来源:一聚教程网

为了要说说装饰器不得不说一下python中的闭包函数。引用一下维基的介绍“在计算机科学中,闭包(Closure)是词法闭包(Lexical Closure)的简称,是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外。所以,有另一种说法认为闭包是由函数和与其相关的引用环境组合而成的实体。”

    看了下,我觉得有点绕口,那么按照我的理解:在一个内部函数A里的一个函数B,对在B外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数B就被认为是闭包(closure)。按照这个解释举个例子:


函数A里面有函数B,在B中引用了x变量,这里x引用的部署全局变量x=10,而是引用的A中的x=1,那么这里的B就是一个闭包函数。运行结果:

x=1,y=2

同时,这里也可以看到函数B引用的是A中的变量x。
这里只是一个简单的介绍,有兴趣的可以自己去研究下,下次说说闭包的应用---修饰器。

热门栏目