为什么不是[0,2,4,6]?完全没整明白。如果有相关的资料请发一下,不知道怎么搜资料,先谢过
以下这样才得到 [0,2,4,6]
funcs = []
for i in range(4):
print(i)
def closer_func(x):
print(i)
return x*i
funcs.append(closer_func(2))
print(funcs)
因为执行到print()语句的时候,for循环已经执行结束了,i 定格在最后一个值,也就是3。
这个时候列表funcs里有四个一样的函数closer_func(),所以调用了4遍,打印了4个i。
然后传参2,每次和 i 相乘,得到[6,6,6,6]