[Michele Simionato] > Here and there I hear rumors about deprecating __del__ and > nothing > happens, are there any news about that? Expecially concerning Py3k?
I was writing a Py3K PEP advocating the elimination of __del__ because: * 'with closing()' and try/finally are the preferred ways of calling close() * it is easy to accidently keep or introduce a reference that blocks the __del__ logic * under-the-hood, the implementation of __del__ clashes badly with GC logic and is a maintenance nightmare * the body of a __del__ method may unintentionally resurrect an object that was in the process of being deleted For the PEP to have a chance, I neede to make build-outs to the weakref module so that existing use cases for __del__ can be easily migrated. That hasn't been done yet, so the campaign to eliminate __del__ is stalled. > I should mention that if you search comp.lang.python > for __del__ you will find hundreds of people who were > bitten by __del__, so I usually give advices such as > "you should never __del__ in your code" Good advice. Explicit finalization is almost always preferable. Raymond Hettinger -- http://mail.python.org/mailman/listinfo/python-list