On Apr 20, 2:46 pm, "Hank @ITGroup" <[EMAIL PROTECTED]> wrote:
> That is my question, after ``del``, sometimes the memory space returns > back as nothing happened, sometimes not... ... > What exactly was happening??? Python has a garbage collector. Objects that cannot be reached from any scope is reclaimed, sooner or later. This includes objects with reference count of zero, or objects that participate in unreachable reference cycles. Since Python uses a reference counting scheme, it does not tend to accumulate so much garbage as Java or .NET. When the reference count for an object drops to zero, it is immediately freed. You cannot control when Python's garbage collector frees an object from memory. What del does is to delete the object reference from the current scope. It does not delete the object from memory. That is, the del statement decrements the reference count by one, and removes the reference from the current scope. Whether it should removed completely depends on whether someone else is using it. The object is not reclaimed unless the reference count has dropped all the way down to zero. If there still are references to the object other places in your program, it is not reclaimed upon your call to del. -- http://mail.python.org/mailman/listinfo/python-list