strange __del__ behavior

Bernhard Herzog bh at
Wed Jun 9 20:22:26 CEST 2004

John Hunter <jdhunter at> writes:

> For debugging purposes, I would like to know when C instances are
> being deleted; that's why I inserted the __del__ print method.  Is
> there any way to get that info w/o defining __del__ and thereby
> screwing up python's garbage collection?

I've sometimes used something like this:

class DelReporter:

    def __init__(self, message):
        self.message = message

    def __del__(self):
        print self.message

class C:

    def __init__(self):
        self.__del = DelReporter("__del__: %r" % self)

Even if a C-instance is part of a cycle, its __del member is not, so
it's __del__ doesn't affect garbage collection.


Intevation GmbH                       

More information about the Python-list mailing list