Python __没有调用del_u
实际上,我是python新手。我想删除一个类的对象。但是,对我来说,del并没有呼叫,它应该在什么时候被呼叫。代码如下:Python __没有调用del_u,python,python-2.7,Python,Python 2.7,实际上,我是python新手。我想删除一个类的对象。但是,对我来说,del并没有呼叫,它应该在什么时候被呼叫。代码如下: counter = 2 class P: def __init__(self): self.x = {} self.fun() def fun( self ): self.x = Q( 2 ) del self.x class Q: def __init_
counter = 2
class P:
def __init__(self):
self.x = {}
self.fun()
def fun( self ):
self.x = Q( 2 )
del self.x
class Q:
def __init__(self, value):
self.z = value
def __Del__( self ):
global counter
if self.z == 2:
counter -= 1
print counter
s = P()
我认为它应该打印计数器值。但代码不会打印任何内容。为什么;您使用了大写的
D
。它应该是\uuu del\uuu
,而不是\uu del\uuuuu
,否则您会创建另一个方法,而不是在对象上调用del
时调用的方法。您想调用\uu del\uuu
,而不是\uu del\uuuu
,对吗?如果是这样的话,那就大错特错了。。del not del.sorry请注意,\uu del\uuu
不能保证在对象被销毁时被调用。