Python魔法方法(3):__del __(cls[,*args]) 方法

Python 的对象天生拥有一些神奇的方法,它们总被双下划线所包围,它们是面向对象的 Python 的一切。它们是可以给你的类增加魔力的特殊方法,如果你的对象实现(重载)了某一个魔法方法,那么这个方法就会在特殊的情况下自动被 Python 所调用。

__del__方法是当对象被系统回收的时候调用的魔法方法,在对象生命周期调用结束时调用该方法。

Python 采用自动引用计数(ARC)方式来回收对象所占用的空间,当程序中有一个变量引用该 Python 对象时,Python 会自动保证该对象引用计数为 1;当程序中有两个变量引用该 Python 对象时,Python 会自动保证该对象引用计数为 2,依此类推,如果一个对象的引用计数变成了 0,则说明程序中不再有变量引用该对象,表明程序不再需要该对象,因此 Python 就会回收该对象。所以大部分时候,都不需要我们手动去删掉不再使用的对象,python的回收机制会自动帮我们做这件事。

示例代码:

class A(object):
    def __init__(self, a):
        print('this is A init')
        self.a = a

    def __del__(self):
        print('this is magic method del')


m = A(1)

运行结果:

this is A init
this is magic method del

猜你喜欢

转载自blog.csdn.net/youzhouliu/article/details/125138687