[Python-3000] Removing __del__

Raymond Hettinger rhettinger at ewtllc.com
Fri Sep 22 18:26:23 CEST 2006

[Michael Chermside]
> I don't seem to have gotten anyone one board with the bold 
> proposal to just rip __del__ out and tell people to learn 
> to use weakrefs.  But I'm hearing general agreement (at least
> among those contributing to this thread) that it might be 
> wise to change the status quo.

I'm on-board for just ripping out __del__.

Is there anything vital that could be done with a __close__ method that
can't already be done with a weakref callback?  We aren't going to need

FWIW, don't despair on your original bold proposal.  While it's fun to
free associate and generate ideas for new atrocities, I think most of
your respondants are just kicking ideas around.

In the spirit of Py3k development, I recommend being quick to remove and
slow to add.  Let 3.0 emerge without __del__ and if strong use cases
emerge, there can be a 3.1 PEP for a new magic method.  I think Py3k
should be as lean as possible and then build-up very slowly afterwards,
emphasizing cruft-removal instead of cruft-substitution.


More information about the Python-3000 mailing list