python闭包函数这节不理解
def count():
fs = []
for i in range(1, 4):
def f(j):
def g():
return j * j
return g
fs.append(f(i))#这里i是循环变量,fs内部添加进去的其实是f函数的每个值 ,那下面输出不应该直接是3个数组吗?而为什么每次输入一个f1 出来只是一个数,不应该是三个吗?
return fs
f1, f2, f3 = count()
print f1(), f2(), f3()
def count():
fs = []
for i in range(1, 4):
def f(j):
def g():
return j * j
return g
fs.append(f(i))#这里i是循环变量,fs内部添加进去的其实是f函数的每个值 ,那下面输出不应该直接是3个数组吗?而为什么每次输入一个f1 出来只是一个数,不应该是三个吗?
return fs
f1, f2, f3 = count()
print f1(), f2(), f3()
2017-09-20
举报