These methods neither takes instance object as argument nor class .They works as utility functions . As class methods , static methods are also bound to the class.
Consider a Student class which stores name and roll no .We have to store the roll number such as it contains exactly 5 digits. If roll number is less than 5 digits .Add leading zeroes.
So it is the programmer duty to follow this constraint using a static method.
>>> class Student:
... def __init__(self,name,roll):
... self.name = name
... self.roll = Student.rollCheck(roll)
... def rollCheck(roll):
... return roll.rjust(5,'0')
>>> # Creating an instance with roll number less than 5 digit
>>> S1 = Student("Harry",'1')
>>> # roll number will be filled with leading zeroes as we call rollCheck method in the constructor
@staticmethod is a decorator.