[Python-Dev] tp_finalize vs tp_del sematics

Armin Rigo arigo at tunes.org
Tue Aug 25 09:51:31 CEST 2015


Hi Valentine,

On 24 August 2015 at 20:43, Valentine Sinitsyn
<valentine.sinitsyn at gmail.com> wrote:
> So you mean that this was to keep things backwards compatible for
> third-party extensions? I haven't thought about it this way, but this makes
> sense. However, the behavior of Python code using objects with __del__ has
> changed nevertheless: they are collectible now, and __del__ is always called
> exactly once, if I understand everything correctly.

Yes, I think so.  There is a *highly obscure* corner case: __del__
will still be called several times if you declare your class with
"__slots__=()".


A bientôt,

Armin.


More information about the Python-Dev mailing list