Python 的變量類型

Python 的變量類型

可變類型 / mutable

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

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

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

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

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

不可變類型 / immutable

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

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

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

因?yàn)閷?shí)例的值不能改變,但是對象可以改變指向,在重新賦值的時(shí)候,變量已經(jīng)指向了新對象

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

python 的可變/不可變變量表

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

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容