可变数据类型和不可变数据类型

不可变数据类型

数字number(含int、float、bool、complex)、字符串string、元组tuple。

在同一代码块下,不同变量的值若是相同且是不可变数据类型,那么它们的id也相同,实际上它们都是同一个值的引用,这既节省了内存又提高了运行效率。举例:

num1=1000
num2=1000
print(id(num1),id(num2))

out:
2321267850064 2321267850064

需要注意的是,在REPL交互环境下输出结果不一致,这是因为在REPL交互环境每行代码都是独立的代码块。

>>> num1=1000
>>> num2=1000
>>> print(id(num1),id(num2))
2404872583088 2404872583472

可变数据类型

列表list、字典dict、集合set。

不同变量的值若是相同且是可变数据类型,那么它们的id必不同,它们不能是同一个值的引用。

举例:

>>> List1=[1,2,3]
>>> List2=[1,2,3]
>>> print(id(List1),id(List2))
2311885997568 2311885997696
>>> print(List1==List2)
True
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值