我使用 Python 作為庫的包裝器,出于某些原因,該庫將某些對象保留在內存中,直到進程被終止并且系統 GC 刪除它們(或者,發送命令以明確刪除它們)。用戶可以檢索引用使用Python函數這些對象之一,所以我知道,當用戶已經訪問了它們,但是當用戶不知道做訪問它們。我的問題是:是否可以在 Python 中觀察變量何時被刪除(由于重新分配、超出范圍、垃圾收集等原因)?我可以觀察變量的狀態變化didSet/willSet嗎(類似于 Swift 的)?
1 回答

嚕嚕噠
TA貢獻1784條經驗 獲得超7個贊
Python__del__在銷毀對象時調用魔法方法。
您可以覆蓋它并添加您的邏輯。
class ObserveDel:
def __del__(self):
# do your stuff
或者只是將其更換到位。
def _handle_del(obj):
# do your stuff
a.__del__ = _handle_del
添加回答
舉報
0/150
提交
取消