Rumah >pembangunan bahagian belakang >Tutorial Python >python不可变数据类型有哪些

python不可变数据类型有哪些

anonymity
anonymityasal
2019-06-11 11:16:2918412semak imbas

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;>

我们可以发现,虽然元组数据发生改变,但是内存地址没有发生了改变,但是我们不可以以此来判定元组就是可变数据类型。我们回头仔细想想元组的定义就是不可变的。我们修改了元组中列表的值,但是因为列表是可变数据类型,所以虽然在列表中更改了值,但是列表的地址没有改变,列表在元组中的地址的值没有改变,所以也就意味着元组没有发生变化。我们就可以认为元组是不可变数据类型,因为元组是不可变的。

Atas ialah kandungan terperinci python不可变数据类型有哪些. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:python之父是哪国人Artikel seterusnya:python的关键字有哪些