DEV Community

Cover image for Explain Python decorator for kids🧒
Mahmoud EL-kariouny
Mahmoud EL-kariouny

Posted on

Explain Python decorator for kids🧒

Hey there! Today, I’m going to explain something really cool in Python called decorators. It might sound like a big word, but don’t worry it’s actually pretty simple, and I’ll use fun examples to show you how it works.

What’s a Decorator?

In Python, a decorator is like a magic box you can put a function into. A function is just a little instruction that tells the computer to do something, like say hello or calculate a number. When you put the function in the magic box (the decorator), it comes out with extra powers—without you having to change the function itself!

Think of it like this: You have a toy car that moves. It’s great, but what if you want it to make a cool sound or go faster? You don’t want to rebuild the car; you just want to add something extra. A decorator is like adding a booster or a sound button to your toy—it makes it more fun without changing what it already does.

Let’s look at some examples to make it super clear.

Example 1: A Toy That Says "Hi!"

Let’s say you have a toy that talks. You want it to say "Hi!" before it does its job. Here’s how a decorator works:

# This is our "sticker" (decorator)
def say_hi(func):
    def new_toy():
        print("Hi!")
        func()  # The original toy still works
    return new_toy

# This is our toy (function)
@say_hi  # Slap the sticker on!
def talk():
    print("I’m a robot toy!")

# Play with the toy
talk()
Enter fullscreen mode Exit fullscreen mode

If we use it like this: talk(), it prints:

Hi!
I’m a robot toy!
Enter fullscreen mode Exit fullscreen mode

Example 2: A Singing Toy

Now let’s make a toy that sings a little song before it works!

# Our sticker (decorator)
def sing_song(func):
    def new_toy():
        print("🎵 La la la! 🎵")
        func()  # The toy does its thing
    return new_toy

# Our toy
@sing_song  # Add the singing sticker!
def dance():
    print("I’m dancing!")

# Play with it
dance()
Enter fullscreen mode Exit fullscreen mode

If we use it like this: dance(), it prints:

🎵 La la la! 🎵
I’m dancing!
Enter fullscreen mode Exit fullscreen mode

Note:
The naming convention for the inner function wrapper should follow best practices.

Why Are Decorators Awesome?

So, decorators are like special wrappers you can put around your functions to give them extra powers. They’re great because:

  • You don’t have to change the original function.
  • You can use the same decorator on lots of functions.
  • They make your code more fun and flexible.

Think of it like decorating a gift. The gift inside stays the same, but you add pretty paper or a bow to make it special. In Python, the function is the gift, and the decorator is the wrapping that makes it even better.

Connect with Me 😊

🔗 Links

linkedin

twitter

Top comments (0)