del class with recursive list

duccio duvo at tiscali.it
Sat Mar 8 13:35:01 EST 2008


Hello!
Will someone have time to tell me why this code don't work as I expect?
And what should I do to make the "del n" delete all the lower nodes?  
Thanks!

class Node:
     def __init__(self):
         self.childs=[]
     def appendNode(self, n):
         self.childs.append(n)
     def __del__(self):
         print 'del', id(self)

n = Node()
for i in range(5):
     n.appendNode(Node())
for nodes in n.childs:
     nodes.appendNode(Node())

del n

print '--------end--------'


gives this:


del 10965280
del 10965440
del 10965640
del 10965400
del 10965600
del 10965360
del 10965560
del 10965320
del 10965520
--------end--------
del 10965480
del 10965680




More information about the Python-list mailing list