Class methods allow user to access or update attributes related to the class, while static methods are independent of any instance or the class itself.

A common example of a class method is providing a convenience instantiation method so we can do constructor overloading instead of mimicking it in the initialization function(__init__), while a static method can be simply an utility function.