A Decorator is one of the most powerful design patterns in Python. Decorator is used to add new features to an already created object without modifying its structure. With Decorators, you can easily wrap another function for extending the wrapped function...
A Decorator is one of the most powerful design patterns in Python. Decorator is used to add new features to an already created object without modifying its structure. With Decorators, you can easily wrap another function for extending the wrapped function beh**iour and this is done without modifying it permanently.
In Python, the functions are considered as first-class objects i.e. we can store the functions in a variable, return function from a function, etc.
Below are some examples displaying functions in Python useful for understanding Decorators.
The functions are considered as object in this example. Here, the function demo() is assigned to a variable −
tHISISIT! hELLO
In this the function is passed as an argument. The demo3() function calls demo() and demo2() function as a parameter.
tHIS IS IT! This is it!
Now, let us work around Decorators
In Decorators, the functions are taken as an argument into another function and then called inside the wrapper function. Let us see a quick example:
@mydecorator def hello_decorator(): print("This is sample text.")
The above can also be written as −
def demo_decorator(): print("This is sample text.") hello_decorator = mydecorator (demo_decorator)
Sum = 30
The above example can be simplified using decorator with the @symbol. This eases applying decorators by placing @ symbol before the function we want to decorate −
Sum = 30