Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách hủy (destroy) object trong Python

Class implement __del__() (destructor) - gọi khi instance sắp bị destroy. Dùng để cleanup non-memory resource.

Ví dụ

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

Kết quả

3083401324 3083401324 3083401324
Point destroyed

Lưu ý: del chỉ giảm reference count. Object chỉ bị destroy khi ref count = 0. Không thể force destroy object nếu vẫn còn reference khác trỏ đến.