__del__ not called?
Felipe Almeida Lessa
felipe.lessa at gmail.com
Mon Mar 13 02:59:53 EST 2006
Em Seg, 2006-03-13 às 08:21 +0100, Gregor Horvath escreveu:
> Hi,
>
> I do not understand why __del__ does not get executed in the following
> example.
It only collects when there are no references:
>>> class A(object):
... def __init__(self):
... print "A's init"
... def __del__(self):
... print "A's del"
...
>>> a = A()
A's init
>>> del a
A's del
>>> class B(object):
... a = A()
...
A's init
>>> del B
>>> # We'll to tell him to collect the garbage here, but
... # usually it should not be necessary.
... import gc
>>> gc.collect()
A's del
20
>>>
--
"Quem excele em empregar a força militar subjulga os exércitos dos
outros povos sem travar batalha, toma cidades fortificadas dos outros
povos sem as atacar e destrói os estados dos outros povos sem lutas
prolongadas. Deve lutar sob o Céu com o propósito primordial da
'preservação'. Desse modo suas armas não se embotarão, e os ganhos
poderão ser preservados. Essa é a estratégia para planejar ofensivas."
-- Sun Tzu, em "A arte da guerra"
More information about the Python-list
mailing list