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