又来问吧里的大神帮我解疑答下 QAQ
python吧
全部回复
仅看楼主
level 4
嘿那谁谁谁谁谁
楼主
图片中的这个代码,f1(),f2(),f3()的输出都是9,这是为什么呢?for 循环里,输出了三个f函数,储存进了fs的列表中,那最后一句return fs不是返回这个列表吗,那f1(),f2(),f3()的输出值不应该都是[1,4,9]这个列表吗,why??
2018年12月17日 13点12分
1
level 5
S_hmy
这是一个闭包,闭包外面的你看成全局变量!!
第一次 是1,第二次4,第三次9 !
那么i里面保存的就是9!
2018年12月17日 13点12分
2
嘿那谁谁谁谁谁
谢谢,因为在自学中,看的资料知识点串的很厉害,所以就没找到问题
2018年12月17日 14点12分
level 12
fthiefº
这样f1,f2,f3都是一个对象,结果肯定是一样的
2018年12月17日 13点12分
3
嘿那谁谁谁谁谁
嗯嗯,我已经知道问题所在啦
2018年12月17日 14点12分
level 5
每日壹歌
f定义了3次,调用肯定是最后一次啊。所以是9了
2018年12月17日 14点12分
4
嘿那谁谁谁谁谁
嗯嗯,我已经知道啦~还是要谢谢
2018年12月17日 14点12分
1