說說我對于例子的理解,還請大家指正。
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