DeveloperBreeze

Tutorials Programming Tutorials, Guides & Best Practices

Explore 149+ expertly crafted tutorials tutorials, components, and code examples. Stay productive and build faster with proven implementation strategies and design patterns from DeveloperBreeze.

Mastering Metaclasses and Dynamic Class Creation in 2024

Tutorial December 10, 2024
python

class RegistryMeta(type):
    registry = {}

    def __new__(cls, name, bases, dct):
        new_class = super().__new__(cls, name, bases, dct)
        cls.registry[name] = new_class
        return new_class

class Base(metaclass=RegistryMeta):
    pass

class Derived1(Base):
    pass

class Derived2(Base):
    pass

print(RegistryMeta.registry)  # Output: {'Base': <class 'Base'>, 'Derived1': ..., 'Derived2': ...}

Dynamic class creation is useful when class structures depend on runtime information.