Join the AI Workshop to learn more about AI and how it can be applied to web development. Next cohort February 1st, 2026
The AI-first Web Development BOOTCAMP cohort starts February 24th, 2026. 10 weeks of intensive training and hands-on projects.
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 Lessons in this unit:
| 0: | Introduction |
| 1: | Modules |
| 2: | The Standard Library |
| 3: | Installing packages with pip |
| 4: | Virtual environments |
| 5: | Variables scope |
| 6: | ▶︎ Decorators |
| 7: | Docstrings |
| 8: | Introspection |
| 9: | Annotations |