Instance vs Class Variables in Python
count lives on the class. id lives on each object. Change count once, every instance sees it.
BeginnerObject-Oriented ProgramsExample 2 of 25
instance-vs-class-variables.py
Run in browser1# Program to demonstrate instance vs class variables23class Counter:4 count = 0 # class variable56 def __init__(self):7 Counter.count += 18 self.id = Counter.count # instance variable910c1 = Counter()11c2 = Counter()1213print("c1.id:", c1.id)14print("c2.id:", c2.id)15print("Total objects created:", Counter.count)
Output
c1.id: 1 c2.id: 2 Total objects created: 2
What's going on
The class variable 'count' is shared across all instances, while 'id' is unique per instance.