Menu

1 / 2

Mastering functools for Python Decorators

DEV Community: python·qjlsh·about 20 hours ago
#NzuwbtTZ
#devtopython#devto#dev#functools#function
Reading 0:00
15s threshold

Python's functools module provides utilities for higher-order functions, allowing you to write decorators that wrap functions or methods to extend or modify their behavior. The functools module includes the wraps decorator, which helps maintain metadata like the function name and docstring when using decorators. This article will guide you through the basics and advanced uses of functools for creating more powerful decorators.

Understanding functools.wraps

The wraps decorator from functools is used to preserve the metadata of the original function when it is decorated. Without wraps , the decorated function will lose its name, docstring, and other attributes. To use wraps , you import it from functools and apply it to your own decorator. Here’s an example:

from functools import wraps

def my_decorator ( func ): @wraps ( func ) def wrapper ( * args , ** kwargs ): print ( " Something is happening before the function is called.…

Continue reading — create a free account

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