class bambino(object):
counter = 7
def __init__(self):
print("bambino.counter is self.counter ?", bambino.counter is self.counter)
self.counter += 1
print("bambino.counter is self.counter ?", bambino.counter is self.counter)
bambi1 = bambino()
print ("bambi1.counter:", bambi1.counter)
print ("bambino.counter:", bambino.counter)
prints:
bambino.counter is self.counter ? True
bambino.counter is self.counter ? False
bambi1.counter: 8
bambino.counter: 7
I understand that by doing self.counter += 1 counter becomes an attribute of the instance not of the class.
But why did bambi1.counter take it's initial value from bambino.counter?