Что такое метаклассы?

Что такое метаклассы в Python и для чего их используют?

Метакласс это класс класса. Это типа класс, который определяет поведение класса. Класс это экземпляр метакласса)

Метакласс используется как своего рода фабрика классов. Когда ты создаёшь экземпляр класса, вызвав класс, Python создаёт новый класс, вызывая метакласс. Он же в свою очередь позволяет при создании регистрировать новый класс с помощью какого-то реестра или даже заменить класс на что-то другое