Python中的可變與不可變類型

首先,我們需要知道在python中哪些是可變數據類型,哪些是不可變數據類型。可變數據類型:列表list和字典dict;不可變數據類型:整型int、浮點型float、字符串型string和元組tuple。

用一句話來概括上述過程就是:“python中的不可變數據類型,不允許變量的值發生變化,如果改變了變量的值,相當於是新建了一個對象,

而對於相同的值的對象,在內存中則只有一個對象,內部會有一個引用計數來記錄有多少個變量引用這個對象;可變數據類型,允許變量的值發生變化,即如果對變量進行append、+=等這種操作後,只是改變了變量的值,而不會新建一個對象,變量引用的對象的地址也不會變化,

不過對於相同的值的不同對象,在內存中則會存在不同的對象,即每個對象都有自己的地址,相當於內存中對於同值的對象保存了多份,這裏不存在引用計數,是實實在在的對象。


突然想到一點,比如說:字符串 s= 'fei',然後 s.upper()輸出'FEI', 但 s還是輸出'fei',不會改變自己,如果不想要a了,可以

a = a.upper(),這樣自己覆蓋自己。

而對於字典,比如 dict = {          

                                'name':'fei',

                                'pwd':'weweweas',

                            }

而,dict.clear()就會刪除字典中的所有值,就會改變dict的值

都是自己的理解不知道對不對,如果不對,大神可以指出來。

地址:https://www.cnblogs.com/howhy/p/6672257.html



發佈了41 篇原創文章 · 獲贊 24 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章