Function Decorators


Function Decorators

  • Decorator is a function which can take a function as argument and extend its functionality and returns modified function with extended functionality.
  • A decorator is a function that accepts a function as parameter and returns a function. A decorator takes the result of function, modifies the result and returns it.
  • The main objective of decorator functions is we can extend the functionality of existing functions without modifies that function.


def wish(name):
        print("Hello",name,"Good Morning")

This function can always print same output for any name.
  • Hello Programmerfect Good Morning
  • Hello Richard Good Morning
  • Hello Rahul Good Morning
But we want to modify this function to provide different message if name is Rahul. We can do this without touching wish() function by using decorator. 


  • In the above program whenever we call wish() function automatically decor function will be executed.  

How to call same function with decorator and without decorator: 

  • We should not use @decor 

Eg 2:

with decorator we won't get any error. In this case output is:

We are dividing 20 with 2 
We are dividing 20 with 0 
OOPS...cannot divide 




Post a Comment

Post a Comment (0)