1. Class Attributes are defined directly inside a class | 1. Instance Attributes are defined inside a constructor using the self parameter |
2. It shared across all objects. | 2. It shared specific to the object. |
3. Changing value by class attribute will be reflected to all the objects. | 3. Changing value of instance attribute will not be reflected to other objects. |
4. Class Attributes can be accessed using class name as well as using object with dot notation. | 4. Instance Attributes can be accessed using object dot notation. |