คลาส Implement เมธอดพิเศษ __del__() เรียกว่า Destructor เรียกตอน Instance จะถูกทำลาย ใช้ Cleanup Non-memory Resources ที่อินสแตนซ์ใช้
ตัวอย่าง
class Point:
def __init__(self, x=0, y=0):
self.x = x
self.y = y
def __del__(self):
class_name = self.__class__.__name__
print(class_name, "destroyed")
pt1 = Point()
pt2 = pt1
pt3 = pt1
print(id(pt1), id(pt2), id(pt3))
del pt1
del pt2
del pt3
ผลลัพธ์
3083401324 3083401324 3083401324 Point destroyed
ออบเจ็กต์ถูกทำลายเมื่อ Reference ทั้งหมดถูกลบ (del) Garbage Collector จะเรียก __del__