首頁  >  文章  >  後端開發  >  python不可變資料型別有哪些

python不可變資料型別有哪些

anonymity
anonymity原創
2019-06-11 11:16:2918384瀏覽

python不可變資料型別有哪些?

python不可變資料型別有哪些

在Python中不可變的資料型別有3種,分別是整數型、字串和元組。

整數

a = 1
print(id(a),type(a))
a = 2
print(id(a),type(a))
1912499232 <class &#39;int&#39;>
1912499264 <class &#39;int&#39;>

我們可以發現,當資料改變後,變數的記憶體位址發生了改變,那麼整數型就是不可變資料型別。

字串

b = &#39;djx&#39;
print(id(b),type(b))
b = &#39;djx1996&#39;
print(id(b),type(b))
535056476344 <class &#39;str&#39;>
535056476624 <class &#39;str&#39;>

我們可以發現,當資料改變後,變數的記憶體位址發生了改變,那麼字串就是不可變資料型別。

元組

元組稱為唯讀列表,即資料可以被查詢,但不能被修改,但是我們可以在元組的元素中存放一個列表,透過更改列表的值來查看元組是屬於可變還是不可變。

c1 = [&#39;1&#39;,&#39;2&#39;]
c = (1,2,c1)
print(c,id(c),type(c))
c1[1] = &#39;djx&#39;
print(c,id(c),type(c))
result:
(1, 2, [&#39;1&#39;, &#39;2&#39;]) 386030735432 <class &#39;tuple&#39;>
(1, 2, [&#39;1&#39;, &#39;djx&#39;]) 386030735432 <class &#39;tuple&#39;>

我們可以發現,雖然元組資料發生改變,但是記憶體位址沒有發生了改變,但是我們不可以以此來判定元組就是可變資料型別。我們回頭仔細想想元組的定義就是不可變的。我們修改了元組中列表的值,但是因為列表是可變資料類型,所以雖然在列表中更改了值,但是列表的地址沒有改變,列表在元組中的地址的值沒有改變,所以也就意味著元組沒有發生變化。我們就可以認為元組是不可變資料型,因為元組是不可變的。

以上是python不可變資料型別有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn