Dirk Zimmermann wrote: > But still, it is not absolutely clear for me, what is going on. So, at > least just for my understanding: The parameter LL is created just once > for the whole class and not for the object (because I del the object > explicitly, which should destroy the object)? del does nothing but remove one binding early. As far as effect on the underlying object, del v and v = None have the same effect.
<original main>: > def main(): > l1 = ['a', 'b', 'c'] > lNames = ['n1', 'n2', 'n3'] > for name in lNames: > objC = cClass() > for each in l1: > objC.addFile(each) > print objC.list > del objC The del in main is superfluous. For all but the last iteration, the objC = c.cClass() will dereference the previous objC, and the final trip through the loop ends up by exiting the function which will have a similar effect. An experiment which will show this: import sys q = r = object() print sys.getrefcount(q), del r print sys.getrefcount(q), r = q print sys.getrefcount(q), r = None print sys.getrefcount(q) Note that whenever you call sys.getrefcount, the argument to the function itself will increase the count by 1. This demonstrates that: print sys.getrefcount(object()) --Scott David Daniels [EMAIL PROTECTED] -- http://mail.python.org/mailman/listinfo/python-list