Skip to main content

Command Palette

Search for a command to run...

Day 18: Decorators in Python

Enhancing Python Functionality: Unveiling the Power of Decorators

Updated
2 min read
Day 18: Decorators in Python
H

A coder how works for excellence...

On the Eighteenth Day of Python Learning, Embark on the Journey of Decorators: Unlocking the Power of Functionality Extension. Decorators in Python serve as versatile design pattern, enabling modification or extension of function/method behavior without altering their source code.

Decorators

A decorator in Python is a design pattern that allows you to modify or extend the behavior of functions or methods without changing their source code. Essentially, decorators wrap another function and allow you to execute code before and/or after the wrapped function runs. The @decorator_name syntax indicates them and are commonly used for tasks such as logging, authentication, caching, and more.

Decorator to add extra print statements:

def decorator(func):
    def internal_method():
        print("Welcome to decorator function ")
        func();
        print("End of the function")
    return internal_method
@decorator
def say_hello():
    print("Hello Bro")

say_hello()

Here, we've crafted a decorator function designed to augment a method by returning its internal functionality while injecting additional print statements.

Decorator to add two numbers:


def decorator(func):
    def new_method(*args, **kwargs):
        print("Decorate my function")
        func(*args, **kwargs)
        print("second line")
    return new_method

@decorator
def multiply(a, b):
    print(a * b)

multiply(5, 10)

Conclusion

Decorators in Python offer a concise and powerful means to modify or extend the functionality of functions or methods without altering their source code directly. Through examples, we've demonstrated how decorators can enhance code readability and maintainability by seamlessly injecting additional behavior before or after function execution. By mastering decorators, developers can write more expressive and efficient Python code, making them a fundamental tool for building modular and maintainable software solutions.

Thankyou💕💕

Python

Part 19 of 45

In this series, we're diving deep into Python, covering everything from the fundamental basics to advanced topics.

Up next

Day 19: Iterators and Iterables in Python

Unlocking the Power of Iterators and Iterables: A Comprehensive Guide in Python

More from this blog

ReactJS Made Easy: Simplifying Frontend Development for Web Applications

89 posts