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