我使用 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
提交
取消
