在學習python過程中我們一定會遇到不可變資料型別和可變資料型別。
以下所有的內容都是基於記憶體位址來說的。
在python中資料型別有:整型,字串,元組,集合,列表,字典。接下來我們用例子來一一檢視他們分別屬於不可變資料型別還是可變資料型別。
view code
我們可以發現,當資料發生改變後,變數的記憶體位址發生了改變,那麼整型就是不可變資料型別。
view code
我們可以發現,當資料發生改變後,變數的記憶體位址發生了改變,那麼字串就是不可變資料型別。
元組被稱為唯讀列表,即資料可以被查詢,但不能被修改,但是我們可以在元組的元素中存放乙個列表,通過更改列表的值來檢視元組是屬於可變還是不可變。
view code
我們可以發現,雖然元組資料發生改變,但是記憶體位址沒有發生了改變,但是我們不可以以此來判定元組就是可變資料型別。我們回頭仔細想想元組的定義就是不可變的。我們修改了元組中列表的值,但是因為列表是可變資料型別,所以雖然在列表中更改了值,但是列表的位址沒有改變,列表在元組中的位址的值沒有改變,所以也就意味著元組沒有發生變化。我們就可以認為元組是不可變資料型別,因為元組是不可變的。
集合我們常用來進行去重和關係運算,集合是無序的。
view code
我們可以發現,雖然集合資料發生改變,但是記憶體位址沒有發生了改變,那麼集合就是可變資料型別。
列表是python中的基礎資料型別之一,其他語言中也有類似於列表的資料型別,比如js中叫陣列,它是以括起來,每個元素以逗號隔開,而且它裡面可以存放各種資料型別。
view code
我們可以發現,雖然列表資料發生改變,但是記憶體位址沒有發生了改變,那麼列表就是可變資料型別。
字典是python中唯一的對映型別,採用鍵值對(key-value)的形式儲存資料。python對key進行雜湊函式運算,根據計算的結果決定value的儲存位址,所以字典是無序儲存的。但是在3.6版本後,字典開始是有序的,這是新的版本特徵。
字典的key值可以是整型,字串,元組,但是不可以是列表,集合,字典。
view code
我們可以發現,雖然字典資料發生改變,但是記憶體位址沒有發生了改變,那麼字典就是可變資料型別。
資料型別
可變/不可變
整型不可變
字串不可變
元組不可變
列表可變
集合可變
字典可變
Python基礎 資料型別
1 數字 2 是乙個整數的例子。長整數 不過是大一些的整數。3.23和52.3e 4是浮點數的例子。e標記表示10的冪。在這裡,52.3e 4表示52.3 10 4。5 4j 和 2.3 4.6j 是複數的例子,其中 5,4為實數,j為虛數,數學中表示複數是什麼?int 整型 在32位機器上,整數的...
Python 基礎資料型別
數字 整數 int,long 整數在python3 沒有大小長度分別,記憶體決定整數最大長度 浮點數 float 具有小數點的數 無窮小數會做精度處理 布林 bool 非空非0為真,0或空為假 複數 complex 複數的標誌為虛部以大寫j 或小寫j結尾 字串 str 表示方式 使用單引號 abc ...
python基礎 資料型別
增 name name.insert index,element 元素刪 name.pop index default last name.remove element del name index names.clear 清空列表 del names 刪除列表改 name index newval...