Снимок экрана 2023-04-12 в 22.14.49.png

  1. Метакласс это «штука», которая создаёт классы. “Фабрика классов”
  2. Они являются классами классов
  3. функция type является встроенным метаклассом

Для чего они используются?

Основная цель метаклассов — автоматически изменять класс в момент создания. Обычно это делает для API, Типичный пример — Django ORM.

Как реализовать?

При написании класса нужно добавить атрибут __metaclass__ и передать в него любой вызываемый объект

classFoo(object):
  __metaclass__ = something...
  [...]