클래스는 인스턴스가 파괴되려고 할 때 호출되는 소멸자라고 하는 특수 메서드 __del__()을 구현합니다. 이 방법은 인스턴스에서 사용하는 비메모리 리소스를 정리하는 데 사용할 수 있습니다.
예시
이 __del__() 소멸자는 곧 파괴될 인스턴스의 클래스 이름을 출력합니다 -
#!/usr/bin/python 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) # prints the ids of the obejcts del pt1 del pt2 del pt3
출력
위의 코드가 실행되면 다음과 같은 결과가 생성됩니다 -
3083401324 3083401324 3083401324 Point destroyed