Menu

1 / 2

Python Decorators: Wrap Functions Without Touching Them

DEV Community·German Yamil·6 months ago
#hX4sziZX
#python#beginners#tutorial#career#return
Reading 0:00
15s threshold

Python Decorators: Wrap Functions Without Touching Them

You have a function that works fine. Now you need to time it. Or retry it on failure. Or log every call. The naive solution is to edit the function body — but then you have to do it again for the next function, and the next.

Decorators solve this by wrapping behavior around a function without changing the function itself.

🎁 Free: AI Publishing Checklist — 7 steps in Python · Full pipeline: germy5.gumroad.com/l/xhxkzz (pay what you want, min $9.99)

The mental model

A decorator is a function that takes a function and returns a (usually enhanced) function.

# This: @timer def generate_chapter (): ...

# Is exactly the same as: def generate_chapter (): ... generate_chapter = timer ( generate_chapter )

Enter fullscreen mode

Exit fullscreen mode

That's the whole mechanism. @timer is syntactic sugar for reassigning the name.…

Continue reading — create a free account

Join HashtagPLUS to read full articles, follow hashtags, vote, and join the conversation.