, , , exampleMethod. Python ( CPython ) . aVar , aVar , , .
, ( del (self), " 1, " . gc - , 0. , , .
import gc
class Noisy(object):
def __init__(self, n):
self.n = n
def __del__(self):
print "Object " + str(self.n) + " being destructed"
class example(object):
def exampleMethod(self, n):
aVar = Noisy(n)
return aVar
a = example()
a.exampleMethod(1)
b = a.exampleMethod(2)
gc.collect()
print "Before b is deleted"
del b
gc.collect()
print "After b is deleted"
:
Object 1 being destructed
While b lives
Object 2 being destructed
After b is deleted
, Noisy , , 0, b, 0.