可變資料型別與不可變資料型別

2021-10-22 03:14:22 字數 1622 閱讀 7359

可變資料型別(資料更改前後,記憶體id不變):列表,字典,集合

不可變資料型別(資料更改前後,記憶體id發生改變):數字[包括:整型,浮點型],字串,元組

分別對各種資料型別進行驗證:

.數字(int ,float):不可變資料型別

#資料型別是不允許改變的,這就意味著如果改變量字資料型別的值,將重新分配記憶體空間。

a =500

id(a)

>>

>

67005664

a =600

id(a)

>>

>

67006064

字串(str):不可變資料型別

a =

'sss'

id(a)

>>

>

68010688

a ='sds'

id(a)

>>

>

68010848

#如果按索引修改字串,會報錯a[-

1]='n'

traceback (most recent call last)

: file ""

, line 1,in

typeerror:

'str'

object does not support item assignment

元組(tuple):不可變資料型別

#元組也是不可修改的,會報錯

a =(1,

2,3)

a[1]=

3traceback (most recent call last)

: file ""

, line 1,in

typeerror:

'tuple'

object does not support item assignment

列表(list):可變資料型別

#可以看到列表更改前後,其記憶體id並沒有發生改變,還是同乙個物件

list1 =[1

,2,3

]id(list1)

>>

>

68019336

list1[1]

=5id(list1)

>>

>

68019336

字典(dict):可變資料型別

#字典更改前後,id沒有發生改變

dict1 =

id(dict1)

>>

>

67936896

dict1[

'name']=

'lin'

id(dict1)

>>

>

67936896

集合(set):可變資料型別

#集合更改前後,id沒有發生改變

a =id

(a)>>

>

67789624

a.add(4)

id(a)

>>

>

67789624

python 可變資料型別 不可變資料型別

在python中,資料型別分為可變資料型別和不可變資料型別,不可變資料型別包括string,int,float,tuple,可變資料型別包括list,dict。所謂的可變與不可變,舉例如下 a test print a 0 t a 0 1 traceback most recent call las...

python 可變資料型別 不可變資料型別

在python中,資料型別分為可變資料型別和不可變資料型別,不可變資料型別包括string,int,float,tuple,可變資料型別包括list,dict。所謂的可變與不可變,舉例如下 a test print a 0 t a 0 1 traceback most recent call las...

python 可變資料型別和不可變資料型別

不可變資料型別更改後位址發生變化,可變資料型別更改後位址不發生變化。看 說話 a 1 int b string string c 1,2 tuple print type a id a print type b id b print type c id c a 1b 1 c 3 4 print a,...