Python的缓存机制

Python对于-5到256的小整数预先分配了缓存池,确保相同数值的对象拥有相同的内存地址。大整数则在内存池中分配不超过256k的内存。字符串对象的缓存主要通过intern函数实现,相同值的字符串会引用同一对象,减少内存消耗。Python默认对某些特定字符串自动应用intern机制,如单个字母、单词和连续ASCII字符,其他情况可通过intern手动启用。
摘要由CSDN通过智能技术生成
整数对象缓存池
对于【-5,256】中的小整数,系统已经提前分配好了,可以直接拿来用,而对于其他的大整数,python会在内存池中为其分配一块小于256k大小的内存。这样,对于小整数,我们每次的引用都是引用的同一个对象,他们的内存地址是一样的,而对于大整数,每次赋值引用都是引用的不同的对象,他们的内存地址不一样,看下面的例子

为了进一步验证,我们可以通过sys模块的getrefcount()函数来查看系统中某一个对象的被引用次数,对于小整数引用次数是大于3的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值