Python 的變量類型

Python 的變量類型

可變類型 / mutable

可變類型的實例,在初始化之后允許改變其值。

>>> a = []
>>> print(a)
[]
>>> a.append('new_value')
>>> print(a)
['new_value']

但注意,如果用 = 賦值,其實是改變指向,而不是改變其實例的值

>>> a=[]
>>> print(id(a))
140323581464840
>>> a.append(1)
>>> print(id(a))
140323581464840
>>> print(a)
[1]
>>> a=[1]
>>> print(id(a))
140323582166152

可以看到,使用append,并沒有改變a變量的地址并且還改變了a的數值。但是使用 = 賦值,那么地址就已經發(fā)生了改變,雖然值還是一樣的

不可變類型 / immutable

這種類型的實例,在初始化之后就不允許改變其值。

但是你會看到一些變量明明可以改數值,那是為什么呢?

>>> a = 3
>>> print(a)
3
>>> a = 4
>>> print(a)
4

因為實例的值不能改變,但是對象可以改變指向,在重新賦值的時候,變量已經指向了新對象

>>> a = 3
>>> print(id(a))
140323607520352
>>> a = 4
>>> print(id(a))
140323607520384

python 的可變/不可變變量表

1560851873003.png
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容