为什么使用匿名函数就不会报错
我的代码:
def count():
fs = []
for i in range(1, 4):
def f(i):
return i*i
fs.append(f(i))
return fs
f1, f2, f3 = count()
print f1(), f2(), f3()
修改后的代码:
def count():
fs = []
for i in range(1, 4):
def f(i):
return lambda:i*i
fs.append(f(i))
return fs
f1, f2, f3 = count()
print f1(), f2(), f3()
为什么前者代码会提示返回的不是int类型的报错?为什么后者使用匿名函数就不会报错?