對可變類型來說,我們可以在原地對變數進行修改,也就是說它的儲存空間是可讀可寫的,例如list;而對於不可變類型來說,它的儲存空間則是只讀的,無法對其進行修改,如果需要對不可變類型進行某些操作來得到新的結果,則需要重新開闢一份存儲空間來存放這個新產生的結果。
對於可變型別: =代表追加操作,即 in-place 操作,在原地把另一個物件的內容追加到物件中。
對於不可變類型: =代表連接或求和操作,其操作的結果會產生一個新的物件。
>>> l = [1, 2, 3, 4, 5] >>> id(l) 43142024 >>> l += [0]*5 >>> l[1, 2, 3, 4, 5, 0, 0, 0, 0, 0] >>> id(l) 43142024
當用 = 時, 「l」 前後是一個。
相關推薦:《python影片教學》
>>> t = (1, 2, 3, 4, 5) >>> id(t) 45438232 >>> t += (0,)*5 >>> t(1, 2, 3, 4, 5, 0, 0, 0, 0, 0) >>> id(t) 45674568
當我們把清單換成元組時,結果又改變了。
>>>s = "hello" >>> id(s) 45794056 >>>s += "world" >>> s'helloworld' >>> id(s) 45495920
結果如同元組,「s」 在使用 = 拼接一個字串後,被重新賦了值,已然不是先前的變數。反映在記憶體中就是,「s」 被另外開啟了一個儲存空間來存放值。
以上是python中+=連用是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!