class variables different for different objects in python why ? code example

Example 1: instance variable in python

class Car:    wheels = 4    # <- Class variable    def __init__(self, name):        self.name = name    # <- Instance variable

Example 2: class variable in python

# Class variables refer to variables that are made within a class.
# It is generated when you define the class.
# It's shared with all the instance of that class.
# Example:

class some_variable_holder(object):
    
    var = "This variable is created inside the class some_variable_holder()."
    
    def somefunc(self):
        print("Random function ran.")

thing = some_variable_holder()
another_thing = some_variable_holder()

# Both does the same thing because the same variable has been passed on from the class.
thing.var
another_thing.var