""" 如何得到变量的名字? 看似很简单的问题其实很难。 这里提供了一种参考方法。 """ class TestClass: def __init__(self): self.hashcode = id(self) self.delete_self_name() def delete_self_name(self): weizhi = [k for k, v in globals().items() if hasattr(v,'hashcode') and v.hashcode == self.hashcode] if weizhi==[]: weizhi = [k for k, v in locals().items() if hasattr(v,'hashcode') and v.hashcode == self.hashcode] name = weizhi[0] if name in globals(): globals().pop(name) elif name in locals(): locals().pop(name) def __del__(self): print("调用__del__() 销毁对象,释放其空间") ttt = TestClass() print(ttt.delete_self_name()) print(ttt) # 对象已经被删除了。
李兴球
李兴球的博客是Python创意编程原创博客
要发表评论,您必须先登录。
发表评论