我的理解过程
def count():
fs = []
for i in range(1,4):
def f(j):
def g():
return j * j
return g
fs.append(f(i))
return fs
f1, f2, f3 = count() #现在f1=f(1),有参数
print f1(), f2(), f3() #这一步没有参数,但三个结果又不一样,说明上一步的参数在影响,所以用闭包将外层函数传入内部函数,然后让外部函数先只返回内部函数的函数名,然后再执行含有外部变量的内部函数