Is this a bug with __del__()
Alex Martelli
aleaxit at yahoo.com
Fri May 25 04:24:56 EDT 2001
"Greg Ewing" <see at my.signature> wrote in message
news:3B0DBEE6.1AFE90FB at my.signature...
> Costas Menico wrote:
> >
> > I wanted to use the __del__ method in a larger example class
>
> You should be able to design your example so that
> the last reference to your instance goes away at
> a predictable moment, e.g.
>
> print "Creating an instance"
> x = ClassFoo()
> print "Discarding the instance"
> x = None
> print "Finished"
>
> That gives:
>
> Creating an instance
> Discarding the instance
> Delete called
> Finished
...in the current version(s) of Classic Python, but not
necessarily in Jython, Python.NET, or (if my understanding
is correct) in some possible future version(s) of Python.
I wouldn't rely on __del__ necessarily getting called as
soon as the last reference goes away... try/finally is
more reliable and portable if you need _guaranteed_
finalization opportunities.
Alex
More information about the Python-list
mailing list