How to Create Static Methods in Python?

Better Stack Team
Updated on June 19, 2024

In Python, a static method is a method that belongs to a class but does not operate on instances of that class. Unlike instance methods, static methods do not have access to the instance (self) or class (cls) variables. They are defined using the @staticmethod decorator.

Here's how you can define and use static methods in Python:

 
class MyClass:
    # Static method definition using @staticmethod decorator
    @staticmethod
    def static_method():
        print("This is a static method")

# Calling the static method using the class name
MyClass.static_method()

In this example:

  • static_method() is defined within the MyClass class and decorated with @staticmethod.
  • Static methods do not require a reference to an instance (e.g., self) or the class itself (e.g., cls) as their first parameter.
  • You can call a static method using the class name, as shown with MyClass.static_method().

Static methods are often used for utility functions that are related to the class but do not depend on specific instance data. They can be called without creating an instance of the class.

It's important to note that while static methods are associated with a class, they cannot access or modify class or instance variables directly. They are primarily used for organizing code within a class namespace and for providing utility functions.

Got an article suggestion? Let us know
Licensed under CC-BY-NC-SA

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.