python中内存地址

遇到一个朋友,给我提了一个问题:python中的两个相同的值,内存地址是否一样?

当时印象里有这样一句话:Python采用基于值的内存管理模式,相同的值在内存中只有一份

于是张嘴就说是一样的

朋友说不是这样,也分情况,之后回家查阅了一些资料,想着应该记录下来,防止朋友们踩坑

1.整数、字符串是真正意义上的值,而内存只有一份指的是较小的值

  对于(-5~256)之间的整数,会在内存中进行缓存,两个相同的整数只开辟一份内存,当地址引用为0时,内存自动删除

2.对于元组、字典、列表、集合以及range、map等容器类对象,这些的值看起来一样,但内存却不是保存一份

3.同一个列表 或者元组 中,大的整数 在内存中会保存同一个地址

4.对于实数(有理数、无理数)来说(不包括-5~256),地址是不同的

5.整数的话 -5 以下内存另开辟,大于 -5 的正整数内存地址一样,实验到了百亿两个地址一样

转载于:https://www.cnblogs.com/zhaoganggang/p/11309200.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值