Встречается на собеседованиях • сегодня
Что такое атрибут __slots__ и для чего он используется
__slots__ — это специальный атрибут класса в Python, который позволяет явно указать, какие атрибуты могут существовать у его экземпляров. Он используется для оптимизации памяти и ускорения доступа к атрибутам.
Преимущества:
- Экономит память: экземпляры не хранят
__dict__, что уменьшает их размер. - Ускоряет доступ к атрибутам: доступ происходит через фиксированный слот, а не через словарь.
- Запрещает создание новых атрибутов (если не указан
__dict__в__slots__).
Пример:
python
class Person:
__slots__ = ['name', 'age'] # Разрешенные атрибуты
p = Person()
p.name = 'Alice' # OK
p.age = 30 # OK
p.job = 'Dev' # AttributeError: 'Person' object has no attribute 'job'Ограничения:
- Нельзя добавить новые атрибуты, не указанные в
__slots__. - Не работает с наследованием (если у родителя есть
__slots__, а у потомка нет, у потомка будет__dict__).

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы