Pablo Galindo Salgado wrote:
> As it has been mentioned there is no guarantee that your variable will even
> be finalized (or even destroyed) after the frame finishes. For example, if
> your variable goes into a reference cycle for whatever reason it may not be
> cleared until a GC run happens (and in some situations it may not even be
> cleared at any point).

I think there is a reasonable guarantee in CPython that it will happen exactly 
when you leave the frame, assuming there are no cycles or other references to 
the object. There's always the future, but I don't see a very near future where 
this will change fundamentally.

Relying too much on CPython's behavior is a bad thing, but I think there are 
cases where it makes sense and can be a pragmatic choice. Certainly lots of 
programs have successfully relied on `sys._getframe` over the years.
_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/BVO7RMMZ2LJFEG4GRNNTYZU3Q4P3DHV3/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to