DEV Community

Durga Pokharel
Durga Pokharel

Posted on

2

Day 25 Of 100DaysOfCode : Python Decorators

This is my 25th day of #100DaysOfCode and Python. Today I am not able to give my time more than 2 hours. Because of my own personal work. So I learned something about python decorators. And Tried to do some code on it.

Some of the code which I practice today and tried to write are given below.

Some Simple Code On Python Decorators

While I studied I learned that python has a interesting features called decorators to add functionality to an existing code. This is also called meta programming because a part of the program tried to modify another part of program.

def make_pretty(func):
    def inner():
        print("I got decorated")
        func()
    return inner


def ordinary():
    print("I am ordinary")

pretty = make_pretty(ordinary)
pretty()
Enter fullscreen mode Exit fullscreen mode

When this program run its output is

I got decorated
I am ordinary
Enter fullscreen mode Exit fullscreen mode

In the above code make_pretty is decorator, ordinary got decorated and returned function was given by the name preety.

def smart_divide(func):
    def inner(a, b):
        print("I am going to divide", a, "and", b)
        if b == 0:
            print("Whoops! cannot divide")
            return

        return func(a, b)
    return inner


@smart_divide
def divide(a, b):
    print(a/b)

divide(2,0)
Enter fullscreen mode Exit fullscreen mode

Above function is the example of decorator with parameter. Here a and b are two parameter .

Here is some other example of decorators,

def printer(text):
    print(text)
printer = star(percent(printer))

printer('Durga')
Enter fullscreen mode Exit fullscreen mode

Output of this code is

******************************
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Durga
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
******************************
Enter fullscreen mode Exit fullscreen mode

Day 25 of #100DaysOfCode and #Python
* Python functions , Argument and Parameter
* Python Higher Order Function
* Python Decorators
* Some Simple Code On Python Decorators Tried To Learn Today#100DaysOfCode ,#CodeNewbie ,#beginner ,#Python pic.twitter.com/t302xx1TlK

β€” Durga Pokharel (@mathdurga) January 18, 2021

AWS GenAI LIVE image

How is generative AI increasing efficiency?

Join AWS GenAI LIVE! to find out how gen AI is reshaping productivity, streamlining processes, and driving innovation.

Learn more

Top comments (2)

Collapse
 
furtleo profile image
Leonardo Furtado β€’

Keep going, we're going along with u :)

Collapse
 
iamdurga profile image
Durga Pokharel β€’

Thank you for support πŸ€—

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

πŸ‘‹ Kindness is contagious

Please leave a ❀️ or a friendly comment on this post if you found it helpful!

Okay