Contents
Python – Add method to a class using decorator
To add method to a class in Python, you can use class decorator.
Here is an example of a class decorator.
Python Program
def add_method(cls):
def square(self, x):
return x**2
cls.square = square
return cls
@add_method
class Calculator:
pass
calc = Calculator()
print(calc.square(5))
Run Code CopyOutput
25
In the code
We defined a class decorator add_method that adds a new method square to the class it is applied to. The square method takes a single argument x and returns its square.
The add_method decorator takes a class as its argument, defines the square method, adds it to the class using the cls.square = square syntax, and returns the modified class.
We apply the decorator to the Calculator class using the @add_method syntax. When we create an instance of Calculator and call the square method on it, we get the expected output of 25, which is the square of 5.
References
Summary
In this tutorial, we learned how to define a decorator that adds a method to a class, with examples.