The official language reference[1] covers this, provides the most recent information and is undoubtedly correct.
Why would I use this instead? In fact looking at the description of `__del__` there is some very crucial information missing regarding access to globals and circular references.
They're also not as well documented as they need to be.
All of the magic methods for Python appear in the same
section in the Python docs, but they're scattered about
and only loosely organized.
There's hardly an example to be found in that section
(and that may very well be by design, since they're all
detailed in the language reference, along with boring
syntax descriptions, etc.).
Why would I use this instead? In fact looking at the description of `__del__` there is some very crucial information missing regarding access to globals and circular references.
[1]: http://docs.python.org/3/reference/datamodel.html