在此插入代码
def count(): fs = [] for i in range(1, 4): def f(): return i*i fs.append(f()) return fs
f1, f2, f3 = count()
print(f1) print(f2) print(f3)
fs.append(f())
这一行加了括号后就将f函数的返回值加到了fs中,而最后返回的fs就变成了一个确定的list[1, 4, 9],自然就能打印出这三个数了。
fs.append(f()) 你有了这一局,就直接完成了全部函数运算,直接的得到值,已经跳出了闭包
这个是说f()是调用函数f得到的函数值吧,类似于C中的嵌套函数?
Sign in to make a reply
吴利民5705255624
def count(): fs = [] for i in range(1, 4): def f(): return i*i fs.append(f()) return fs
f1, f2, f3 = count()
print(f1) print(f2) print(f3)