Какие плюсы и минусы slots

Python Middle Без компании
Какие плюсы и минусы slots
Ответы
**Плюсы:** - Экономия памяти: экземпляры классов со `__slots__` не хранят `__dict__`, что уменьшает занимаемую память. - Быстрый доступ к атрибутам: доступ к слотам оптимизирован на уровне CPython. - Защита от опечаток: нельзя динамически добавлять атрибуты, не указанные в `__slots__`. **Минусы:** - Невозможность динамического добавления атрибутов. - Наследование требует аккуратного обращения: если родитель имеет `__slots__`, а потомок нет, то у потомка будет `__dict__`, но нужно явно прописывать `__slots__` в потомке. - Несовместимость с некоторыми библиотеками, которые полагаются на `__dict__`. **Пример:** ``` class Person: __slots__ = ['name', 'age'] def __init__(self, name, age): self.name = name self.age = age p = Person("Alice", 30) p.name = "Bob" # OK p.address = "123 St" # AttributeError ```