def mixin_behavior(cls):
class Mixin:
def extra_method(self):
return "Extra behavior"
return type(cls.__name__, (cls, Mixin), dict(cls.__dict__))
class Original:
def original_method(self):
return "Original behavior"
Enhanced = mixin_behavior(Original)
instance = Enhanced()
print(instance.original_method()) # Output: Original behavior
print(instance.extra_method()) # Output: Extra behavior
You can use metaclasses to dynamically create and modify classes.