[Python-Dev] Java final vs Py __del__

Alex Martelli aleax at aleax.it
Thu Nov 27 07:54:41 EST 2003

On Thursday 27 November 2003 12:55 pm, Kepes Krisztian wrote:
> Hi !

Hi Kepes.  These questions are improper to pose here on Python-Dev,
which is a mailing list about the development OF Python; for questions
that are just related to Python programming, please send them to
the general list, python-list at python.org, or help at python.org instead.

I'm answering them this time, but please don't use this list again in
the future unless it is for issues related to the development OF Python,

> In Java the final method is not same, but is like to destructor (I has

You're confusing final (which is a Java keyword indicating a method
that cannot be overridden in subclasses) with finalize -- there is no
connection at all between these two concepts in Java.

The Python _language_ gives just as few guarantees about calling
finalizers (__del__ in Python) as Java (otherwise, it would not be
possible to implement Python on top of a Java Virtual Machine, yet
Jython, the Python implementation running on a JVM, works quite
productively).  Some specific implementation (such as a given release
of "classic Python") may happen to do a bit more, but for reliability you
will want to use try/finally in Python just as you would in Java.


More information about the Python-Dev mailing list