On Sun, Jun 04, 2006 at 11:43:56PM +0200, Jan Janech wrote: > Objekt triedy este nieje odstraneny, ale iba symbol M je nastaveny na > hodnotu None... > Dost zaujimave spravanie, po tom ako som si po dvoch rokoch zvykol, ze v > pythone vsetko ide ako ma :) > > class M: > > b = 0 > > def __del__(self): > > print "self.class =", self.__class__ > > print "M =", M > > print "M2 =", M2 > > a2 = M() > M2 = M
Ja myslim, ze tohle chovani je v poradku. Metoda __del__ se muze spolehnout v podstate jenom na jmeno `self'. Globalni objekty uz mohou byt odalokovane. Pokud potrebuju nejaky externi objekt v metode __del__, je potreba pouzit nejaky trik a objekt si "pribalit" k funkci: import sys class M: def __del__(): _sys = sys # _sys je cellvar def __del__(self): print 'SYS', _sys __del__ = __del__() Radek Kaňovský _______________________________________________ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python