Python 调试模式与垃圾回收

一、调试模式:


  命令行模式下:python -m pdb 文件名 #进入调试模式

  基本功能:

    l :list , 显示当前代码
    n : next , 执行下一行代码
    c : continue , 继续执行完代码,或执行到断点(就像没进pdb一样)
    b 行数 : break 在目标行添加一个断点 ,没有行数则代表查看所有断点
    clear 断点序号 :清除目标序号的断点
    p 变量名 :print , 打印一个变量的值
    a : args ,打印所有的形参数据
    s : step , 进入到一个函数
    q : quit , 退出调试
    r : return 快速执行到函数的最后一行

二、垃圾回收


  1、小整数对象池

    [-5,257]这些整数对象是提前建立好的,不会被垃圾回收
    即在这个范围内的整数,使用的是同一个对象(地址)
    不在此范围内的整数,则会创建一个新的对象


  2、字符串地址

    单个字符串共用对象(中间不能包含空格与特殊字符)


  3、GC(Garbage Collection)

    #引用计数机制为主,计数为0时删除对象

      a = 100 #地址计数1
      b = a #地址计数加一
      del a #地址计数减一
      #缺点
      不能处理循环引用


    #隔代回收为辅

      #链表0形式,判断是否有循环引用,达到一定条件相互引用计数减一
      gc.get_threshold()#查看清理条件,显示3个参数
        #参数1表示新创建的对象与被释放对象的差值,参数2、3表示对应执行次数
        #满足参数1,对链表0进行清理,将剩余对象放入新链表1
        #满足参数2,清理链表0与链表1,生成新链表2
        #满足参数3,清理链表0,链表1与链表2
      gc.get_count()#查看当前值

猜你喜欢

转载自www.cnblogs.com/dalun101/p/9367083.html