猿问

观察何时删除变量

我使用 Python 作为库的包装器,出于某些原因,该库将某些对象保留在内存中,直到进程被终止并且系统 GC 删除它们(或者,发送命令以明确删除它们)。

用户可以检索引用使用Python函数这些对象之一,所以我知道,当用户已经访问了它们,但是当用户不知道访问它们。

我的问题是:是否可以在 Python 中观察变量何时被删除(由于重新分配、超出范围、垃圾收集等原因)?我可以观察变量的状态变化didSet/willSet吗(类似于 Swift 的)?


RISEBY
浏览 171回答 1
1回答

噜噜哒

Python__del__在销毁对象时调用魔法方法。您可以覆盖它并添加您的逻辑。class ObserveDel:    def __del__(self):        # do your stuff或者只是将其更换到位。def _handle_del(obj):    # do your stuffa.__del__ = _handle_del
随时随地看视频慕课网APP

相关分类

Python
我要回答