python 垃圾回收

Posted maxiaohei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 垃圾回收相关的知识,希望对你有一定的参考价值。

1. 小整数对象池

整数在程序中的使用非常广泛,Python为了优化速度,使用了小整数对象池, 避免为整数频繁申请和销毁内存空间。

Python 对小整数的定义是 [-5, 256] 这些整数对象是提前建立好的,不会被垃圾回收。在一个 Python 的程序中,所有位于这个范围内的整数使用的都是同一个对象.

同理,单个字母也是这样的。

2. 大整数对象池

每一个大整数,均创建一个新的对象。

3. intern机制

靠引用计数去维护何时释放。

总结

  • 小整数[-5,256]共用对象,常驻内存
  • 单个字符共用对象,常驻内存
  • 单个单词,不可修改,默认开启intern机制,共用对象,引用计数为0,则销毁 
  • 字符串(含有空格),不可修改,没开启intern机制,不共用对象,引用计数为0,销毁 
  • 大整数不共用内存,引用计数为0,销毁 
  • 数值类型和字符串类型在 Python 中都是不可变的,这意味着你无法修改这个对象的值,每次对变量的修改,实际上是创建一个新的对象 

以上是关于python 垃圾回收的主要内容,如果未能解决你的问题,请参考以下文章

python垃圾回收机制详解

Python中的垃圾回收机制

Python 中的垃圾回收机制

Python垃圾回收机制

python垃圾回收

简单理解python的垃圾回收机制