求助求助,闭包和匿名两节课中的问题
def count(): fs = [] for i in range(1, 4): fs.append(lambda i=i: i*i) return fs f1, f2, f3 = count() print f1(), f2(), f3() #这个代码可以正确的显示出1,4,9 def count(): fs = [] for i in range(1, 4): fs.append(lambda a=i: i*i) return fs f1, f2, f3 = count() print f1(), f2(), f3() #然而这个代码只能显示出9,9,9 def count(): fs = [] for i in range(1, 4): fs.append(lambda i: i*i) return fs f1, f2, f3 = count() print f1(), f2(), f3() #这个代码会报错 谁能解释下这是为什么呢?