Class attribute is shared between all instances. Instance attribute is unique to each instance.
1class User:2 # Class attribute (shared)3 role = "user"4 count = 056 def __init__(self, name):7 # Instance attribute (unique)8 self.name = name9 User.count += 11011u1 = User("Alice")12u2 = User("Bob")1314print(u1.name) # "Alice" (instance)15print(u2.name) # "Bob" (instance)16print(u1.role) # "user" (class)17print(u2.role) # "user" (class)18print(User.count) # 2 (class)1920# Changing class attribute21User.role = "admin"22print(u1.role) # "admin" (changed for all)2324# Changing instance attribute25u1.role = "moderator"26print(u1.role) # "moderator" (only for u1)27print(u2.role) # "admin" (unchanged)