python可变类型有哪些_python不可变数据类型有哪些

python不可变数据类型有哪些?

在Python中不可变的数据类型有3种,分别是整型、字符串和元组。

整型a = 1

print(id(a),type(a))

a = 2

print(id(a),type(a))

1912499232

1912499264

我们可以发现,当数据发生改变后,变量的内存地址发生了改变,那么整型就是不可变数据类型。

字符串b = 'djx'

print(id(b),type(b))

b = 'djx1996'

print(id(b),type(b))

535056476344

535056476624

我们可以发现,当数据发生改变后,变量的内存地址发生了改变,那么字符串就是不可变数据类型。

元组

元组被称为只读列表,即数据可以被查询,但不能被修改,但是我们可以在元组的元素中存放一个列表,通过更改列表的值来查看元组是属于可变还是不可变。c1 = ['1','2']

c = (1,2,c1)

print(c,id(c),type(c))

c1[1] = 'djx'

print(c,id(c),type(c))

result:

(1, 2, ['1', '2']) 386030735432

(1, 2, ['1', 'djx']) 386030735432

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值