Python staticmethod() Function

The staticmethod() function in Python returns the static method of a specified function, or converts to a static method. For example:

class fresherearth:
    def myfun(x):
        print("The value of x:", x)

staticmethod(fresherearth.myfun)
fresherearth.myfun(500)

The output produced by this Python program is:

The value of x: 500

The method myfun() gets converted into a static method after using the following statement:

staticmethod(fresherearth.myfun)

Since the method myfun() becomes a static method, therefore the first parameter to myfun(), will not be considered as self. The self refers to the object instance.

Static methods do not have access to what the class is, whereas class methods have.

Recommend - Use @staticmethod decorator to define static methods, instead of using staticmethod() function to convert to a static method.

Note: A static method can be called by an object or by a class, both.

Python staticmethod() Function Syntax

The syntax of staticmethod() in Python is:

staticmethod(fun)

Python staticmethod() Function Example

Here is an example of staticmethod() in Python. In this program, I've created three methods inside the class. The first method is created to print "Hello World", the second method is created to return the addition of its two parameters, and the third method is similar to the second but without return statement:

class fresherearth:
    def funOne():
        print("Hello World")
    def funTwo(a, b):
        return a+b
    def funThree(x, y):
        print("Result =", x+y)

staticmethod(fresherearth.funOne)
fresherearth.funOne()

staticmethod(fresherearth.funTwo)
res = fresherearth.funTwo(10, 20)
print("Result =", res)

staticmethod(fresherearth.funThree)
fresherearth.funThree(30, 40)

The snapshot given below shows the sample output of above program:

python staticmethod function

Related Article - Python class method Vs static method.

Python Online Test


« Previous Function Next Function »