同学,你好!1、在函数中可以(嵌套)定义另一个函数,如果内部的函数引用了外部的函数的变量,则可能产生闭包。如下图:定义了外部的函数warpper,外部函数warpper内又定义了内部的函数exponent_of函数,内部函数是定义在函数里边的函数,所以称为内部函数。内部函数exponent_of 中,有代码return base**exponent,其中exponent是外部函数warpper的变量,所以是内部的函数引用了外部的函数的变量,这种操作称为闭包
闭包可以用来在一个函数与一组“私有”变量之间创建关联关系,在给定函数多次被调用过程中,私有变量能够保持持久性,以下图为例:warpper(2) 是将2这个值传递给exponent 变量,在内部函数中square中不管传入什么值,内部函数exponent 值都是2。执行square(2) 执行到代码base**exponent 为2**2=4,当执行square(3)时,为3**2=9,2的值是不变的,也是闭包的特性
祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星