**可變與不可變:**不可變資料型別更改後位址發生改變,可變資料型別更改後位址不發生改變
在python中資料型別有:整型(int,float,complex,boolue),字串,元組,集合,列表,字典。
我們可以發現,當資料發生改變後,變數的記憶體位址發生了改變,那麼整型就是不可變資料型別。
b =
'djx'
print(id
(b),
type
(b))
b ='djx1996'
print(id
(b),
type
(b))
535056476344
<
class
'str'
>
535056476624
<
class
'str'
>
我們可以發現,當資料發生改變後,變數的記憶體位址發生了改變,那麼字串就是不可變資料型別。
元組被稱為唯讀列表,即資料可以被查詢,但不能被修改,但是我們可以在元組的元素中存放乙個列表,通過更改列表的值來檢視元組是屬於可變還是不可變。
c1 =
['1'
,'2'
]c =(1
,2,c1)
print
(c,id
(c),
type
(c))
c1[1]=
'djx'
print
(c,id
(c),
type
(c))
result:(1
,2,[
'1',
'2']
)386030735432
<
class
'tuple'
>(1
,2,[
'1',
'djx'])
386030735432
<
class
'tuple'
>
我們可以發現,雖然元組資料發生改變,但是記憶體位址沒有發生了改變,但是我們不可以以此來判定元組就是可變資料型別。我們回頭仔細想想元組的定義就是不可變的。我們修改了元組中列表的值,但是因為列表是可變資料型別,所以雖然在列表中更改了值,但是列表的位址沒有改變,列表在元組中的位址的值沒有改變,所以也就意味著元組沒有發生變化。我們就可以認為元組是不可變資料型別,因為元組是不可變的。
集合我們常用來進行去重和關係運算,集合是無序的。
s =print
(s,type
(s),
id(s)
)s.add(
'djx'
)print
(s,type
(s),
id(s)
)result:
<
class
'set'
>
870405285032
<
class
'set'
>
870405285032
我們可以發現,雖然集合資料發生改變,但是記憶體位址沒有改變,那麼集合就是可變資料型別。
列表是python中的基礎資料型別之一,其他語言中也有類似於列表的資料型別,比如js中叫陣列,它是以[
]括起來,每個元素以逗號隔開,而且它裡面可以存放各種資料型別。
list=[
1,'q',
'qwer'
,true
]print
(list
,type
(list),
id(list))
list
'djx'
)print
(list
,type
(list),
id(list))
result:[1
,'q'
,'qwer'
,true
]<
class
'list'
>
808140621128[1
,'q'
,'qwer'
,true
,'djx'
]<
class
'list'
>
808140621128
我們可以發現,雖然列表資料發生改變,但是記憶體位址沒有發生了改變,那麼列表就是可變資料型別。
字典是python中唯一的對映型別,採用鍵值對(key-value)的形式儲存資料
字典的key值可以是整型,字串,元組,但是不可以是列表,集合,字典。鍵可以是任何值。
鍵不可重複,值可重複。鍵若重複會被覆蓋
tuple=(
1)dic =
d =print
(d,type
(d),
id(d))d[
'key4']=
'haha'
print
(d,type
(d),
id(d)
)result:
<
class
'dict'
>
256310956320
<
class
'dict'
>
256310956320
我們可以發現,雖然字典資料發生改變,但是記憶體位址沒有發生了改變,那麼字典就是可變資料型別。
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資料型別 可變資料型別和不可變資料型別
在python中資料型別包含以下幾類 1.數字型別 number 整型 int 浮點型 float 複數 complex 2.字串型別 string 3.列表 list 4.集合 set 5.元組 tuple 6.字典 dict 上面的型別中屬於可變型別的是 dict,list,set 屬於不可變型...