析构函数的作用就是销毁/删除临时的变量,主要对那些长期占用内存的临时变量进行销毁.
class Person: eys = 2 # 所有对象都具有 def __init__(self, name, age): print('构造函数') self.name = name self.age = age def eat(self): print('吃饭') def sleep(self): print('睡觉') def wanttospeak(self): print(f'{self.name}说所爱皆山河,山河亦可平') def __del__(self): print('已注销') p1=Person('白筠',19) print(p1.name) del p1 print('hello')
注:因为Python是一门高级语言,程序员在使用时无需关心内存的分配和释放,因为此工作都是交给Python解释器来执行,所以,析构函数的调用是由解释器在进行垃圾回收时自动触发执行的。
(在类里定义,如果不定义,Python 会在后台提供默认析构函数。)
运行结果为:
F:\pycharm\venv\Scripts\python.exe F:/pycharm/11.py
构造函数
白筠
已注销
hello
进程已结束,退出代码0
如果没有del p1则已注销总是最后执行