看板 Python 關於我們 聯絡資訊
list1 執行時 extendlist function 會產生一個變量list, 並且使用一個記憶體空間。 list3 執行時,使用相同的變量list的記憶體空間。 因此,list1和list3會值會相同。 hex(id(list1))和hex(id(list3)),具有相同的記憶體位置。 可以試試下面的程式碼。 def extendList(val,list=[]): list.append(val) return list list1=extendList(10) print ("list 1= %s" % list1) print(hex(id(list1))) list2=extendList(123,[]) print ("list 2= %s" % list2) print(hex(id(list2))) list3=extendList('a') print ("list 3= %s" % list3) print(hex(id(list3))) print ("111111111111111111111111111111111111111") print ("list 1= %s" % list1) print ("list 2= %s" % list2) print ("list 3= %s" % list3) print ("list = %s" % extendList("")) print(hex(id(extendList("")))) http://tinyurl.com/l6rp9gn -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.133.32.131 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1493014987.A.5F0.html ※ 編輯: ides13 (220.133.32.131), 04/24/2017 14:28:24
freeunixer: id 就已經是在看址了,多做一次 hex 會比較潮嗎? 04/24 19:51
ides13: 了解,謝謝指教。我剛起步學,算是新手。 04/24 20:49