Methods and Its Types

Methods and Its Types

ยท

2 min read

In object-oriented programming, Python provides different types of methods to define the behavior of classes. Three commonly used methods are instance methods, class methods, and static methods. Such methods help us to create more organized and efficient code structures in Python.

Instance Method

  • Instance methods are the most common type of method in Python classes.

  • They are associated with objects (instances) of a class and are defined within the class definition.

  • Instance methods take the self parameter, which represents the instance itself.

  • They can access and modify instance variables and invoke other instance methods of the same class. To define an instance method, we use the def keyword.

class Person:
    def instance_method(self, name, age):
        # Access instance variables
        self.name = name
        self.age = age

# Creating an instance of MyClass
obj = Person()

# Calling the instance method
obj.instance_method("Nirmal","23")

print(obj.name, obj.age)# Output = Nirmal 23

In the example above, instance_method() is an instance method that takes two arguments. It accesses the instance variables arg1 and arg2 using the self parameter performs some operations and modifies the instance variables accordingly.

Class Method

  • They can be called on the class itself to perform operations rather than instances.

  • Class methods take the cls parameter, which represents the class itself.

  • We use the @classmethod decorator to define a class method.

  • Class methods are often used for alternative constructors.

class MyClass:
    class_variable = "Hello, World!"

    @classmethod
    def class_method(cls):
        print("This is a class method.")
        print("Accessing class variable:", cls.class_variable)


# Calling class method
MyClass.class_method()

Static Method

  • If we have nothing to do with instance and class then we use static method.

  • They are defined within the class definition using the @staticmethod decorator.

  • Static methods are not bound to the instance or the class, making them independent and self-contained.

class MyClass:

    @staticmethod
    def static_method():
        print("This is a static method.")

# Calling the static method
MyClass.static_method()

Output:

This is a static method.
ย