Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีทำลายออบเจ็กต์ใน Python

คลาส 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__