如果一定要引用循环变量怎么办?方法是再创建一个函数,用该函数的参数绑定循环变量当前的值,无论该循环变量后续如何更改,已绑定到函数参数的值不变
- 利用函数参数来将调用者处操作转移到被调用者处,这种方法在尾递归里也有用到
使用闭包时,对外层变量赋值前,需要先使用nonlocal声明该变量不是当前函数的局部变量。否则它就是未初始化的局部变量,会报错
所以闭包是在描述它所得到的类似静态变量功能的现象?
Sign in to make a reply
thirty22
如果一定要引用循环变量怎么办?方法是再创建一个函数,用该函数的参数绑定循环变量当前的值,无论该循环变量后续如何更改,已绑定到函数参数的值不变
- 利用函数参数来将调用者处操作转移到被调用者处,这种方法在尾递归里也有用到
使用闭包时,对外层变量赋值前,需要先使用nonlocal声明该变量不是当前函数的局部变量。否则它就是未初始化的局部变量,会报错