求大神指導下例子的執行過程,我還是沒有想明白為什么f1,f2,f3都是9
def count():
??? fs = []
??? for i in range(1, 4):
??????? def f():
???????????? return i*i
??????? fs.append(f)
??? return fs
f1, f2, f3 = count()
def count():
??? fs = []
??? for i in range(1, 4):
??????? def f():
???????????? return i*i
??????? fs.append(f)
??? return fs
f1, f2, f3 = count()
2015-07-29
舉報
2015-09-24
返回的不是數值啊 ,明明就是地址
2015-08-01
f1, f2, f3 = count()?
這句調用count函數,返回的是函數列表,[i*i,i*i,i*i]=count()而不是函數值。
fs.append(f)
這句將函數f加入到fs中去,等于fs中加入的是函數,而非函數值,fs=[i*i],所以當循環結束后,i已經是3了,所以最終的f1 f2 f3 再去計算i*i的時候就都是9了