On 08/05/2017 11:16 AM, Ned Batchelder wrote: > It uses > reference counting, so most objects are reclaimed immediately when their > reference count goes to zero, such as at the end of local scopes.
Given this code: class SomeObject: ..... for foo in somelist: a = SomeObject(foo) b = SomeObject(foo) c = SomeObject(foo) # Do something or other ... # Bottom of 'for' scope Are you saying that each time a,b,c are reassigned to new instances of SomeObject the old instance counts go to 0 and are immediately - as in synchronously, right now, on the spot - removed from memory? My understanding was (and I may well be wrong), that the reference count does get decremented - in this case to 0 - but the *detection* of that fact does not happen until the gc sweep looks through the heap for such stale objects. -- https://mail.python.org/mailman/listinfo/python-list