内嵌函数和闭包

来源:互联网 发布:我国经济数据 编辑:程序博客网 时间:2024/06/05 12:03

内嵌函数

python支持内嵌函数,即在函数中定义函数
1 def fun1():        print('fun1()正在被调用')        def fun2():            print('fun2()正在被调用')        fun2()>>> fun1()fun1()正在被调用fun2()正在被调用   函数2只能在函数1中调用

闭包函数

    闭包(Closure)是词法闭包(Lexical Closure)的简称,是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外。所以,有另一种说法认为闭包是由函数和与其相关的引用环境组合而成的实体    > def fun1():            x = [2]            def fun2():                x[0] += x[0]                return x[0]            return fun2()        >>> fun1()        4闭包创建的几个条件:1.闭包必须是一个内嵌函数                2.内部函数必须引用外部函数的变量                3.外部函数返回的是内部函数
原创粉丝点击