@staticmethod decorator

The @staticmethod is a built-in decorator in Python which defines a static method. A static method doesn't receive any reference argument whether it is called by an instance of a class or by the class itself. The following notation is used to declare a static method in a class:

Example: Define Static Method
class person:
    @staticmethod
    def greet():
        print("Hello!")

In the above example, @staticmethod is applied to the greet() method. So, the greet() method can be called using the class name person.greet(), as well as using the object.

>>> person.greet()
Hello!
>>> p1=person()
>>> p1.greet()
Hello!

Even though both person.greet() and p.greet() are valid calls, the static method receives reference of neither. Hence it doesn't have any arguments - neither self nor cls.