歡迎來(lái)到 常識(shí)詞典網(wǎng) , 一個(gè)專業(yè)的常識(shí)知識(shí)學(xué)習(xí)網(wǎng)站!
[ Ctrl + D 鍵 ]收藏本站
答案 1:
第三次的地址肯定是和其他三次不同的,你可以確認(rèn)下。這里L(fēng)默認(rèn)綁定到一個(gè)指定的對(duì)象,f外面L是無(wú)法訪問(wèn)的,但是默認(rèn)綁定的這個(gè)[]一直存在,下次調(diào)用f(a)時(shí),L還會(huì)綁定到這個(gè)[]上,除非用兩個(gè)參數(shù)調(diào)用,L就會(huì)綁定到給出的參數(shù)上。答案 2:
def f(a, L=[]): L.append(a) print(id(L)) return Lprint (f(1))print f.func_defaultsprint (f(2))print f.func_defaultsprint (f(3,[4,3]))print f.func_defaultsprint (f(5))print f.func_defaults這個(gè)代碼應(yīng)該能夠說(shuō)明:L的值在程序調(diào)用間是被保存在f.func_defaults這個(gè)元組里面了,所以能夠在第一第二第四次調(diào)用間保存,或者說(shuō),類似于C里面的函數(shù)內(nèi)靜態(tài)變量;至于第三次調(diào)用,沒(méi)有用默認(rèn)參數(shù)。也可以參見(jiàn)這篇文章:effbot.org/zone...下一篇:國(guó)內(nèi)大部分媒體的新聞標(biāo)題都喜歡用“本·-”而不是“本·-”? 下一篇 【方向鍵 ( → )下一篇】
上一篇:知乎上很多人回答問(wèn)題時(shí)直接拷貝其他人答案,從不標(biāo)明出處? 上一篇 【方向鍵 ( ← )上一篇】
快搜