On Sun, 07 Oct 2007 16:38:23 +0000, Michele Simionato wrote: > On Oct 7, 12:26 pm, Marc 'BlackJack' Rintsch <[EMAIL PROTECTED]> wrote: > >> Drop all those `__del__()` methods as they prevent the garbage >> collector from collecting "cycles". > > I fully agree and I will add that __del__ methods are always a bad idea.
Always? I recently wrote a bit of code where I needed to check that releasing the first object in a tree-like structure would allow Python to garbage collect all the other objects in a tree. I thought it would, but I wanted to be sure ("don't guess, test"), so I wrote a simple class, gave it a __del__ method that just printed self, inserted them in the tree, and then deleted the first one. Worked like a charm. Without __del__, what should I have done to test that my code was deleting objects and not leaking memory? What should I do when my objects need to perform some special processing when they are freed, if I shouldn't use __del__? -- Steven. -- http://mail.python.org/mailman/listinfo/python-list