oursolutionarchitectoursolutionarchitect
  • Python Questions and Answers
  • Python - Programming Examples
  • Python - Quick Guide
  • Python - Useful Resources
  • Python - Discussion
    • Selected Reading
    • Q&A

    Python - Static Methods


    is that the static method doesn't have a mandatory argument like reference to the object − self or reference to the class − cls. Python's standard library fimction staticmethod() returns a static method.

    In the Employee class below, a method is converted into a static method. This static method can now be called by its object or reference of class itself.

    class Employee:
       empCount = 0
       def __init__(self, name, age):
          self.__name = name
          self.__age = age
          Employee.empCount += 1
       
       #@staticmethod
       def showcount():
                print (Employee.empCount)
                return
       counter = staticmethod(showcount)
    
    e1 = Employee("Bhavana", 24)
    e2 = Employee("Rajesh", 26)
    e3 = Employee("John", 27)
    
    e1.counter()
    Employee.counter()
    

    Python also has @staticmethod decorator that conveniently returns a static method.

    @staticmethod
       def showcount():
                print (Employee.empCount)
    e1.showcount()
    Employee.showcount()