they have the access to this cls argumentit can' modify object instance state that would require access to self it is bound to the class and not the object of the class class methods can still modify class state that applies across all instances of the class static method static method takes neither self nor cls(classparameter but it' free to accept an arbitrary number of other parameters syntax class (object)@staticmethod def fun(arg arg )returnsa static method for function funself static method can neither modify object state nor class state they are restricted in what data they can access when to use what we generally use class method to create factory methods factory methods return class object (similar to constructorfor different use cases we generally use static methods to create utility functions