Python 使用了參考計數這一簡單技術來跟蹤和回收垃圾,在 Python 內部記錄著所有使用中的物件各有多少參考,一個內部跟蹤變數,稱為一個參考計數器,
當物件被創建時, 就創建了一個參考計數, 當這個物件不再需要時, 也就是說, 這個物件的參考計數變為0 時, 它被垃圾回收,但是回收不是"立即"的, 由解釋器在適當的時機,將垃圾物件占用的記憶體空間回收,
a=40
b=a
c=[b]
del a #a不需要,洗掉a
print(b) #洗掉a后不影響b和c
print(c)
b=100
c[0]=-1
print(b)
print(c)

解構式 __del__ :__del__在物件銷毀的時候被呼叫,當物件不再被使用時,__del__方法運行
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, "銷毀")
pt1 = Point()
pt2 = pt1
pt3 = pt1
print(id(pt1), id(pt2), id(pt3)) # 列印物件的id
del pt1 #呼叫解構式del
del pt2
del pt3

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/195771.html
標籤:其他
上一篇:二進制尋找毒酒
