← Back to context

Comment by sgarland

1 day ago

I love Python, but the sheer number of caveats and warnings for __del__ makes me question if this person has ever read the docs [0]. My favorite WTF:

> It is possible (though not recommended!) for the __del__() method to postpone destruction of the instance by creating a new reference to it. This is called object resurrection.

[0]: https://docs.python.org/3/reference/datamodel.html#object.__...

How does this relate to the claim of the parent comment that cyclic structures are never freed in python (which is false, btw)?

  • When I replied, the only thing the comment said was “yeah no.” I was agreeing that __del__ is fraught with peril.

    Reading: cyclic GC, yes, the section I linked explicitly discusses that problem, and how it’s solved.