看板 Python 關於我們 聯絡資訊
新手 幾乎沒寫過python def extendList(val,list=[]): list.append(val) return list list1=extendList(10) list2=extendList(123,[]) list3=extendList('a') print "list 1= %s" % list1 print "list 2= %s" % list2 print "list 3= %s" % list3 這段code list 1 並沒有給第二個參數 此時系統會自動給一個list 給他?? 所以結果才是 list 1= [10, 'a'] list 2= [123] list 3= [10, 'a'] -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 39.8.36.186 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1493010902.A.6B7.html
Yshuan: mutable object as default argument 04/24 15:35
s860134: 把預設參數設為 None ,在邏輯裡面檢查為 None 再去賦值 04/28 08:36