Ja viem, ze globalne objekty uz mozu byt zrusene garbage collectorom, ale ja som sa prave snazil ukazat ze u tej classy to tak nieje. Prave to sa mi zda zvlastne, ze premenna ma nastavenu hodnotu None, ale objekt triedy este existuje v pamati a moze byt referencovany... okrem toho, pri tom ako je python spraveny si neviem predstavit ako by niekto chcel zrusit najskor instanciu class objektu a az potom instanciu danej triedy...
Janko Radek Kaňovský wrote: > 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