重拾Python第十一天(数据类型)

Python数据类型

  • 不可变数据类型(对其变量赋新值,实质为再分配一个内存空间存储新值,并将原来的变量重新指向新创建的对象,如果没有其他变量引用原有对象即引用计数为0,原有对象就会被回收):数字、字符串、元组
# int型:重新分配一个新的内存空间存储2,a引用新对象2,1将被回收,1和2的地址不同。与C、Java语言先声明数据类型不同,此处的1和2为同一地址。Python内存管理机制,Python对int类型和较短的字符串进行了缓存,无论声明多少个值相同的变量,实际上都指向同个内存地址,即存储该值的内存地址。
a = 1
print(id(a))
a += 1
print(id(a))
b = 1
print(id(b))

# float型:和int型相同
c = 1.1
print(id(c))
c += 1.5
print(id(c))
d = 1.1
print(id(d))
  • 可变数据类型(不需要再分配内存,只需要在此对象后面连续申请内存空降,它的地址会保持不变,但会变长或者变短。):列表、字典、集合
# 分配不同的地址存储a, b,将a直接赋值给b,两个都会指向存储列表的同一个地址
a = [1, 2, 3, 4]
print(id(a))
b = [1, 2, 3, 4]
print(id(b))

注:数据类型的可变与不可变,指的是存储在内存中的内容是否可以被改变

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值