Python Decorators Explained

Learn how to use Python decorators to write cleaner, more maintainable code.

Admin • • 1 min read
Python Decorators Explained
# Python Decorators Explained Decorators are a powerful feature in Python that allow you to modify the behavior of functions or classes. They're widely used in web frameworks like Flask and Django. ## What Are Decorators? A decorator is a function that takes another function and extends its behavior without explicitly modifying it. ```python def my_decorator(func): def wrapper(): print("Before function call") func() print("After function call") return wrapper @my_decorator def say_hello(): print("Hello!") ``` ## Common Use Cases 1. **Logging**: Track function calls and execution time 2. **Authentication**: Check permissions before execution 3. **Caching**: Store results for expensive operations 4. **Validation**: Verify input parameters ## Practical Example Here's a real-world example of a timing decorator: ```python import time def timing_decorator(func): def wrapper(*args, **kwargs): start = time.time() result = func(*args, **kwargs) end = time.time() print(f"{func.__name__} took {end - start:.2f}s") return result return wrapper @timing_decorator def slow_function(): time.sleep(2) return "Done" ``` Decorators are an essential Python pattern that every developer should master.

You Might Also Like