可變不可變資料型別
阿新 • • 發佈:2020-12-12
什麼是可變、不可變型別
定義
不可變資料型別:當該資料型別的對應變數的值發生了改變,那麼它對應的記憶體地址也會發生改變,對於這種資料型別,就稱不可變資料型別。
可變資料型別:當該資料型別的對應變數的值發生了改變,那麼它對應的記憶體地址不發生改變,對於這種資料型別,就稱可變資料型別。
常見資料型別
資料型別 | 可變/不可變 |
---|---|
整型 | 不可變 |
字串 | 不可變 |
元組 | 不可變 |
列表 | 可變 |
集合 | 可變 |
字典 | 可變 |
具體分析
不可變資料型別:
可變資料型別:
總結
python中的不可變資料型別,不允許變數的值發生變化,如果改變了變數的值,相當於是新建了一個物件,而對於相同的值的物件,在記憶體中則只有一個物件,內部會有一個引用計數來記錄有多少個變數引用這個物件;可變資料型別,允許變數的值發生變化,即如果對變數進行append、+=等這種操作後,只是改變了變數的值,而不會新建一個物件,變數引用的物件的地址也不會變化,不過對於相同的值的不同物件,在記憶體中則會存在不同的物件,即每個物件都有自己的地址,相當於記憶體中對於同值的物件儲存了多份,這裡不存在引用計數,是實實在在的物件