SobesLab логотип SobesLab

Ответ

__slots__ – это специальный атрибут класса, который может содержать кортеж строк – имён разрешённых атрибутов. Если класс определяет __slots__, то у его экземпляров не будет динамического словаря __dict__, и они смогут иметь только указанные поля. Это экономит память (особенно на больших количествах объектов) и немного ускоряет доступ к атрибутам. Ограничения: невозможно добавлять другие атрибуты, также класс с __slots__ не поддерживает наследование без повторного объявления __slots__ в подклассах (незаполненные __slots__ наследуются, но нужно объединять).