作用域这里没有看懂,有没有人可以帮助我理解一下,什么叫嵌套函数被调用时才进行查找,为什么每次循环调用都是记住的4
收起
里面匿名函数的调用相当于下面这样写:
acts=[] for i in range(5): def fun(x): return i**x acts.append(fun)
可见循环四次,acts里保存了四个一样的函数fun,而里面这个变量 i 只有在运行函数 fun 的时候才从外层作用域,也就是 for in 所在的函数里查找当前 i 的值,也就是最后一次循环后的值 4
报告相同问题?