Этот атрибут позволяет ограничить создание новых атрибутов в экземплярах класса.
__slots__ определяется как список имен атрибутов в определении класса. Экземпляры класса с __slots__ могут иметь атрибуты только с именами, определенными в __slots__. Попытка создать новый атрибут приведет к ошибке.Использование
__slots__ экономит память, так как экземпляры не создают словарь __dict__ для атрибутов.__slots__ не наследуются, для каждого подкласса нужно определять свои слоты.Атрибут полезен, когда заранее известны все атрибуты класса и не нужна динамическая задача новых. Например, для простых данных или immutable классов.
🔗 Python tricks
