6. 析构器方法
对象的生命周期
对象的周期基本分为3步:
- 创建
- 使用
- 销毁
如图所示:
析构方法
作用
- 在对象被销毁时自动调用,用于执行一些清理操作,例如释放资源、关闭文件或断开网络连接等。
语法
class 类名(继承列表):
def __del__(self):
语句块
说明
- 析构方法名必须为
__del__
不可改变,此方法在对象销毁前自动调用。 - 对象销毁时调用:当对象的引用计数为 0 或程序结束时,
__del__
方法会被自动调用。
示例
# 对象的析构方法示例
class Dog:
def __init__(self, k, c):
self.kind = k # 种类
self.color = c # 颜色
print(self.color, '的', self.kind, '小狗被创建')
def __del__(self):
print(self.color, '的', self.kind, '小狗被销毁')
def eat(self, food):
print(self.color, '的', self.kind, '吃', food)
dog1 = Dog('哈士奇', '灰色')
dog2 = Dog('藏獒', '棕色')
dog1.eat('包子') # 等同于 Dog.eat(dog1, '骨头')
dog2.eat('牛肉')
del dog1 # 删除变量
print('程序结束')