• 技术文章 >Python技术 >Python高级

    python析构函数的底层机制

    小妮浅浅小妮浅浅2021-08-20 09:08:41原创4895

    说明

    1、Python为每个对象配置计时器。

    初始Python实例对象的计数器值为0。

    2、变量a引用变更实例对象时,其计数器的值+1。

    变量b也引用实例对象时,计数器的值再次+1。变量a取消引用该例子对象时,计数器值为-1。多个变量引用该实例对象时,按顺序推进-1。

    3、多个变量引用实例对象时,计数器值以此类推进+1。

    4、计数器值减少到0时,表示没有变量引用的例子。

    即证明程序不需要,Python自动调用__del_()方法回收。

    实例

    #def __del__(self):
    #        print('我走了')
    class Person:
        def __init__(self):
            print('我出生了')
        def __del__(self):
            print('我走了')
        def eat(self):
            print('吃饭')
    p=Person()
    p.eat()
    #将注释部分分别运行,观察析构函数的运行规则 
    #a=1
    #while True:
    #    a+=1

    以上就是python析构函数的底层机制,希望对大家有所帮助。更多Python高级指路:python高级

    本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

    专题推荐:python析构函数
    上一篇:Python中tail -f如何实现 下一篇:python字符串结合操作符的使用

    相关文章推荐

    • python异常处理的常见错误• python logging日志的禁用• python for循环遍历位置的查找• python if判断的使用格式• python break和continue的比较• python在带参的函数中使用装饰器• python清洗文件数据的方法• python旋转图片和压缩像素的方法• python类的两种属性• python中%格式表达式如何使用• python有哪些匹配替换• python format()的下标匹配• python使用shelve保存变量• python pprint.pformat()函数的使用• python else在循环语句执行的情况• python coroutine的运行过程• python如何输入数据类型检查• python三种流程控制的语句• python析构函数的常见应用

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网