Class Decorator

Use a class as a decorator to wrap functions with additional behavior.

IntermediateTopic: Object-Oriented Programs
Back

Python Class Decorator Program

This program helps you to learn the fundamental structure and syntax of Python programming.

Try This Code
# Program to demonstrate a simple class decorator

class CallLogger:
    def __init__(self, func):
        self.func = func

    def __call__(self, *args, **kwargs):
        print(f"Calling {self.func.__name__}")
        return self.func(*args, **kwargs)


@CallLogger
def greet(name):
    print("Hello,", name)


greet("Alice")
Output
Calling greet
Hello, Alice

Understanding Class Decorator

Implementing __call__ in a class allows its instances to behave like functions and be used as decorators.

Note: To write and run Python programs, you need to set up the local environment on your computer. Refer to the complete article Setting up Python Development Environment. If you do not want to set up the local environment on your computer, you can also use online IDE to write and run your Python programs.

Table of Contents