Skip to content

Python Decorators

New Course Coming Soon:

Get Really Good at Git

Decorators are a way to change, enhance or alter in any way how a function works.

Decorators are defined with the @ symbol followed by the decorator name, just before the function definition.

Example:

@logtime
def hello():
    print('hello!')

This hello function has the logtime decorator assigned.

Whenever we call hello(), the decorator is going to be called.

A decorator is a function that takes a function as a parameter, wraps the function in an inner function that performs the job it has to do, and returns that inner function. In other words:

def logtime(func):
    def wrapper():
        # do something before
        val = func()
        # do something after
        return val
    return wrapper
Are you intimidated by Git? Can’t figure out merge vs rebase? Are you afraid of screwing up something any time you have to do something in Git? Do you rely on ChatGPT or random people’s answer on StackOverflow to fix your problems? Your coworkers are tired of explaining Git to you all the time? Git is something we all need to use, but few of us really master it. I created this course to improve your Git (and GitHub) knowledge at a radical level. A course that helps you feel less frustrated with Git. Launching Summer 2024. Join the waiting list!
→ Get my Python Handbook
→ Get my Python Handbook

Here is how can I help you: