strange behaviour at termination time

Fabien COUTANT fabien.coutant at steria.fr
Mon Jun 28 08:08:07 EDT 1999


Basically there is a base class name that I found bound to None,
which prevents me to call base methods.

I tested it with 1.5.1 on Linux and 1.5.2 on Windows. Was working
fine with 1.4 in Debian/Linux 1.3.1 till I upgraded to Debian 2.1...

Bug or feature ? Quite annoying if feature...

More that it, I discovered during testing that sometimes it is correct
if I change the base class name !

Here is sample code to show it:

----------------------------------
class A :
    def __del__ (self) :
        print "A.__del__", self

class B (A) :
    def __del__ (self) :
        print "B.__del__", self, A
        # can't do A.__del__ (self) for example

x = A ()
y = B ()
----------------------------------

In this configuration it should show ok.
If you change the name of the first class from A to X everywhere
then X is bound to None in B.__del__ !!!

Please can anyone explain me ?!




More information about the Python-list mailing list