class Father():
children=[]
def __del__(self):
print u'Father умер'
class Child():
father=None
def __init__(self,f):
self.father = f
def __del__(self):
print u'Child умер'
f=Father()
c=Child(f)
f.children.append(c)
f=c=1
print u'Все умерли'
>>>Все умерли
То есть деструкторы не вызывались, смотрим мусор:
import gc
gc.garbage
>>>
На сколько я правильно понимаю, gc не должен обрабатывать объекты с определенным деструктором, таким образом, тогда почему он не поместил их в gc?
Что на самом деле произошло с f и c?