Python __没有调用del_u

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_

实际上,我是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__(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
不能保证在对象被销毁时被调用。