Python3的特殊机制

2020/03/09 Python 共 458 字,约 2 分钟

python数据类型注意点

注意要点

  1. None
    作用:变量解除绑定或用来占位
    在if判断中其结果为false

  2. del
    作用:删除变量

GC

  1. 小整数对象池
    [-5,257]中所有整数对象是提前建立好的,在这个范围内的整数共用同一个对象,且不会被垃圾回收

  2. 大整数对象池
    每一个大整数,均创建一个新的对象

  3. intern机制
    相同的字符串共用同一个对象

  4. 引用计数
    若此对象无其他对象引用,则立马回收掉
    逻辑简单、具备实时性
    每个对象需要分配空间来统计引用计数;大的嵌套结构释放慢;无法回收循环引用

  5. 标记清除 标记阶段,gc_ref是ref_count的一个副本,遍历对象,不可达则gc_ref减1,gc_ref为0的被标记为不可达; 如果此对象被其它对象引用,则重新标记为可达
    清除阶段,再次遍历对象,如果发现某个对象没有标记为可达,则就将其回收
    在标记清除时会暂停整个应用程序

  6. 分代回收 有效减少应用程序暂停的时间
    世代(0,1,2),当某一世代中被分配的对象与被释放的对象之差达到阈值,就会触发gc对这一世代的扫描
    某一对象在一轮gc扫描中活了下来,那么它将被移至下一世代

文档信息

Search

    Table of Contents