Class Decorator
Use a class as a decorator to wrap functions with additional behavior.
IntermediateTopic: Object-Oriented Programs
Python Class Decorator Program
This program helps you to learn the fundamental structure and syntax of Python programming.
# 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.