Подклассы встроенных классов были возможны только в Python, когда в Python 2.2 были созданы «новые классы стилей».Таким образом, не глядя на код и не читая внимательно заметки к презентации в этой статье Гвидо , можно сделать вывод, что в Python2 необходимы некоторые типовые внутренние поля, чтобы разрешить встроенные классы (в которых был свой кодбаза написана до объединения), чтобы работать и вести себя хорошо, как "пользовательские классы", когда подклассы.(Это поведение "объекта", которое не является встроенным в кодовую базу для объектов "старого стиля" и "int").
Все, что происходит, находится где-то внутри Python 2.7 Objects/typeobject.c
- так что вы можете взглянуть туда (или подождать, пока кто-то, кто может легче проанализировать, что придет с другим ответом)
Что, как упоминает @blownhither_ma в комментариях выше, похоже, больше не относится к Python3 - я бы сказал, что объединение классов консолидируется с 2009 года:
In [158]: from sys import getsizeof as sizeof
In [159]: sizeof(int())
Out[159]: 24
In [160]: class MInt(int):
...: __slots__ = ()
...:
In [161]: sizeof(MInt())
Out[161]: 24
Итак, покаЕсть вопросы, на которые еще предстоит ответить на ваш вопрос, они имеют значение только для Python 2, который сейчас никто не должен использовать в новом коде.