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