def count(): fs = [] for i in range(1, 4): def f(): return i*i fs.append(f) return fs f1, f2, f3 = count()
这个函数中,i的值是i=1的时候,返回 1,fs.append(f)就是fs = [1],以此类推得出的 fs = [1,4,9],没毛病吧。for 循环结束。最终返回的 lis就是 1,4,9 啊。。那么 f1,f2,f3 = count()不就是指的list中的 1,4,9嘛??为什么说是9,9,9 。虽然i 的值经for循环完以后变成了3,但是 fs 列表已经输出完毕了啊、、求指导。。。
艾尔森
慕瓜9220888
相关分类