python可變與不可變

2021-10-01 04:30:54 字數 1363 閱讀 3541

不可變作用和意義

物件所指的記憶體中的值是可以改變的。

變數名儲存的是乙個位址,該位址指向乙個具體的物件,並且不管對變數的值進行怎樣的操作,都不會改變變數名的儲存位址。

字典dict、列表list、集合set

1.list

list1=[1

,2,3

,4]>>

>

print

(list1,

id(list1))[

1,2,

3,4]

2124755528904

>>

>

list

.pop ()4

>>

>

print

(list1,

id(list1))[

1,2,

3,4]

2124755528904

>>

>

列表的儲存位址未變

2.dict

dict1=

print

(dict1,

id(dict1)

)dict1.pop(1)

print

(dict1,

id(dict1)

)2238931987736

2238931987736

物件所指的記憶體中的值是不可變的

int 、str、==float ==、元組tuple

1.字串

s1=

'abc'

print(id

(s1)

)s1=

'abcd'

print(id

(s1)

)1981122956592

1981132606896

id 不同

2.tuple

t1=(1

,2,3

)print(id

(t1)

)t1=(2

,3)print(id

(t1)

)>>

>

====

====

====

====

====

====

=== restart: e:

/cet.4/

1.py ==

====

====

====

====

====

====

=1884779368264

1884779676872

id不同

出處:[link]

python可變與不可變

可變與不可變型別的實質實際上就是儲存機制的不同 不可變型別 比如字串 被稱為不可變的字串行,每個字元底層均有規範的unicode碼對應,記憶體規定無法對單一的乙個字元進行修改,要修改字串必須重新指向乙個全新的字串 可變型別 一方面,該列表可以保證在位址不變的前提下,改變列表內容 另一方面,該引用也可...

Python中不可變與可變

在python的資料型別中,有用可變和不可變的兩種型別,那下面就來看一看兩種資料型別有什麼區別 old var hello print old var hello new var old var new var world print old var hello world 這符合我們的邏輯嗎?是不...

可變與不可變

元組 tuple 元組一旦被建立就不能被修改,採用逗號和圓括號 來表示。列表推導式 可變與不可變 序列型別 是否有序 是否可變 列表有序可變 元組有序 不可變 字串有序 不可變 字典無序可變 集合無序 不可變不管是可變還是不可變的序列型別 1 分片必定產生新的序列 2 號在等號右邊,必定產生新的序列...