作者Nippey (射手座)
看板Python
標題[問題] append 變數問題
時間Mon Apr 24 13:15:00 2017
新手
幾乎沒寫過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