说说我对于例子的理解,还请大家指正。
def count(): fs = [] for i in range(1, 4): def f(): return i*i fs.append(f) print(i) print(i) return fs f1, f2, f3 = count() #f1,f2,f3 = [f(),f(),f()] (此时的i = 3) #f()--->lambda i: i*i 即 f1,f2,f3=[lambda i: i*i, lambda i: i*i, lambda i: i*i] print(f1()) #f1() 即调用 lambda i: i*i i是等于3的 所以f1() = 9 print(f2()) print(f3())
执行结果
1 2 3 3 9 9 9