11. Class Decorators
Class decorators allow you to modify or enhance classes in a reusable way.
Example
def add_repr(cls):
cls.__repr__ = lambda self: f"<{cls.__name__} {self.__dict__}>"
return cls
@add_repr
class Person:
def __init__(self, name):
self.name = name
p = Person("Alice")
print(p)
Wrap-Up
Class decorators are similar to function decorators but operate on classes instead of functions.