python 閉包 在循環(huán)中定義函數(shù),函數(shù)變量會(huì)直接引用循環(huán)變量
python 閉包 在循環(huán)中定義函數(shù),函數(shù)變量會(huì)直接引用循環(huán)變量(下面函數(shù)使用:def f(j):? 和? def f(j=i): 都能正常執(zhí)行,為什么j 默認(rèn)會(huì)等于i 呢?)
def count():
? ? fs=[]
? ? for i in range(1,4):
? ? ? ? #print('i=',i)
? ? ? ? #def f(j):
? ? ? ? def f(j=i):
? ? ? ? ? ? #print('j',j)
? ? ? ? ? ? def g():
? ? ? ? ? ? ? ? return j*j
? ? ? ? ? ? return g
? ? ? ? r=f(i)
? ? ? ? fs.append(r)
? ? return fs
f1,f2,f3=count()
print(f1(),f2(),f3())
2021-01-23
你看下r=f(i)和程序中的f(j)函數(shù),這樣你會(huì)發(fā)現(xiàn)j是形參,i就相當(dāng)于傳入的參數(shù),所以就是相等的了
2021-01-18
抱歉,不明白題目意思,請(qǐng)明確一下。