构造方法 申请一个空间
析构方法 释放一个空间之前执行

某对象借用了操作系统的资源,还要通过析构方法归还回去:文件资源,网络资源

一般不需要我们自己来清理空间,python有自己的垃圾回收机制

class A: pass


a = A()
del a  # 对象的删除,不需要我们做
print(a)
#结构
# NameError: name 'a' is not defined

析构方法
先执行了 __del__方法,然后删除了对象的

class A:
    def __del__(self):  # 析构方法 del A的对象会自动触发这个方法
        print("执行我了")


a = A()
del a  # 对象的删除,不需要我们做
print(a)
# 结构
# 执行我了
# NameError: name 'a' is not defined

Python在程序执行完成之后,会释放掉过程中产生的所有的空间

class A:
    def __del__(self):  # 析构方法 del A的对象会自动触发这个方法
        print("执行我了")


a = A()
print(a)
#结果
<__main__.A object at 0x00D5CF50>
执行我了

这个有什么用呢?
析构函数一般情况下是去归回/释放一些在创建对象的时候借用的一些资源,如果是python内存级别的资源,一般不需要,解释器会自动帮你删掉。把所有的变量从内