【发布时间】:2015-12-17 01:33:10
【问题描述】:
有没有办法让一个类删除它自己的一个实例。我知道你可以为变量做del x,但你如何为类做呢?如果我这样做:
class foo(object):
x=5
def __init__(self):
print "hi"
def __del__(self):
del self
print "bye"
a = foo()
a.__del__()
print a.x
代码的输出是
hi
bye
5
foo 的实例没有被删除。有没有办法让班级这样做?
【问题讨论】:
-
del a也许?它在这里成功了 -
郑重声明,
x甚至不是a的属性,而是foo的类属性;无论a引用的foo实例是否存在,它都不会消失。
标签: python