Python語法--可變型別和不可變型別
不可變型別:只要變數的值改變,地址也跟著改變就是不可變型別。因為不可變的型別需要重新申請一段記憶體地址空間來儲存改變後的資料,所以地址會改變
常見不可變的資料型別:int str tuple float
可變型別:內容發生改變,地址不改變,就是可變型別。因為對其的操作可以在原地址直接修改
常見可變資料型別:list dict set
int型別不可變的原因:
python會提前生成一個小整數池,每個整數對應一個記憶體地址,當將一個整數值賦給變數時,此變數的地址指向整數對應的地址。
這樣會節省記憶體空間。
list可變原因:
定義一個list型別的時候,系統會申請一段固定長度地址空間(該空間可以存放50000個資料)存放list,所以當需要新增刪除元素時,只需在申請好的記憶體空間內操作即可,所以地址不發生改變。
tuple不可變原因:
定義tuple型別時開闢了一段固定的記憶體空間,視你定義時的資料個數而定,所以tuple不能追加元素,只能重新申請一段新的記憶體地址來存放修改後的tuple。
isinstance函式:
判斷一個資料是否為指定的資料型別,返回布林型別的值
id()函式:
返回變數的記憶體地址
相關文章
- 修改全域性變數時,可變型別和不可變型別的區別變數型別
- Python基礎(一)可變與不可變資料型別Python資料型別
- 可變資料型別(mutable)與不可變資料型別(immutable)總結資料型別
- js基本語法之 值型別(資料型別)(變數型別)JS資料型別變數
- Python3學習 (變數+值型別+引用型別+列表的可變+元組的不可變+運算子號)Python變數型別
- 可變所有權型別型別
- 強型別語言變數和資料型別的理解變數資料型別
- Python變數型別Python變數型別
- Python基礎入門_2基礎語法和變數型別Python變數型別
- python—資料型別和變數Python資料型別變數
- C#變數型別(1):引用型別和值型別 (轉)變數型別
- Python中可變物件和不可變物件的區別?Python基礎Python物件
- 探索c#之不可變資料型別C#資料型別
- GO語言基礎(結構+語法+型別+變數)Go型別變數
- Python - 可變和不可變物件Python物件
- javascript基礎語法備忘錄-變數和資料型別JavaScript變數資料型別
- python:變數和簡單資料型別Python變數資料型別
- Python可變物件和不可變物件Python物件
- PHP變數型別PHP變數型別
- Java 變數型別Java變數型別
- 變數型別-Set變數型別
- c++基本型別和變數C++型別變數
- 前端入門8-JavaScript語法之資料型別和變數前端JavaScript資料型別變數
- python學習之變數型別Python變數型別
- Solidity-變數和資料型別[複合型別_1]Solid變數資料型別
- JavaScript - 變數、值、型別JavaScript變數型別
- 資料型別,變數資料型別變數
- 變數型別轉換變數型別
- C語言-變數常量資料型別C語言變數資料型別
- 輸出C語言中 變數的型別C語言變數型別
- 【精】C語言之變數儲存型別C語言變數型別
- C#深入學習:泛型修飾符in,out、逆變委託型別和協變委託型別C#泛型型別
- 第2章 變數和基本型別變數型別
- Python學習四之變數型別Python變數型別
- 草根學 Python(二)基本資料型別和變數Python資料型別變數
- 草根學Python(二)基本資料型別和變數Python資料型別變數
- Python學習日記-資料型別和變數Python資料型別變數
- c++語言中類的私有型別或保護型別成員變數C++型別變數