1. 程式人生 > >可變型別與不可變型別總結

可變型別與不可變型別總結

1、不可變型別:是直接把值賦給一個變數(a=1),引用(記憶體中的地址)是一直不變的,除了重新給a賦值才會改變引用。

2、可變型別:

(1)可變型別的資料變化,是通過方法來實現的(不會改變地址)

(2)如果給一個可變型別的變數,賦值了一個新的資料,引用會修改(會改變地址)

  • 變數 不再 對之前的資料引用
  • 變數 改為 對新賦值的資料引用

注意:字典的key 只能使用不可變型別的資料

 

雜湊(hash)

  • python中內建有一個名字叫做hash(0)的函式

       1.接收一個 不可變型別

的資料作為 引數

       2.返回 結果是一個 整數

  • 雜湊 是一種 演算法,其作用就是提取資料的 特徵碼(指紋)

       1.相同的內容 得到 相同的結果

        2.不同的內容 得到 不同的結果

  • 在python中,設定字典的 鍵值對 時,會首先對 key 進行 hash 已決定如何在記憶體中儲存字典的資料 ,以方便 後續 對字典的操作:增、刪、改、查

        1.鍵值對的 key 必須是不可變型別資料

        2.鍵值對的 value 可以是任意型別的資料