If a class is defined in interpreter environment:
class C(object):
    def __init__(self, val):
        self.x = val
Then instantiated without names:
>>> C(1)
>>> C(2)
>>> 
Then we can use underscore _ to refer to C(2), so here is my question:
- Since the underscore '_' refer to C(2), can we say the reference counter forC(2)is still 1? So the python gc will not free the memory taken byC(2)?
- As far as I know, after these C(2)is executed, no names will refer toC(1), so can I say as soon asC(2)is executed,C(1)'s memory will be freed by python gc?
These are actually 4 questions, one bold font to one.
gc: short for garbage collection
EDIT
Let me make my first question more clear by commenting directly into the codes.
>>> C(1) # Press Enter Key and run
>>> 
>>> At Here, what is the exact reference count for the previous anonymous object "C(1)"? 
>>> And how to prove?
>>> 
>>> C(2) # Press Enter Key and run
>>> 
>>> At Here, what is the exact reference count for the previous anonymous object "C(1)"?
>>> And how to prove?
 
    