Введение в создание классов в ООП в Python
Обычно мы думаем так: есть класс,
а из него создают объекты. В Python
класс сам является объектом.
Его тип - встроенный класс
type.
Давайте объявим класс User:
class User:
pass
Проверим тип класса, а не экземпляра:
print(type(User)) # <class 'type'>
Значит, User - объект типа
type. Отсюда вытекает, что
классы можно передавать в функции,
создавать динамически и настраивать
через метаклассы.