Встречается на собеседованиях • сегодня
Зачем нужен __slots__
__slots__ в Python используется для оптимизации памяти и ускорения доступа к атрибутам класса. Он позволяет явно указать, какие атрибуты может иметь экземпляр класса, заменяя динамический словарь __dict__ фиксированным набором дескрипторов.
Преимущества:
- Экономит память (особенно полезно при множестве экземпляров).
- Ускоряет доступ к атрибутам (избегает поиска в
__dict__).
Ограничения:
- Нельзя динамически добавлять новые атрибуты.
- Наследование требует аккуратности (если родитель имеет
__slots__, дочерний класс должен его переопределить).
Пример:
python
class Person:
__slots__ = ['name', 'age'] # Фиксированные атрибуты
p = Person()
p.name = "Alice" # ОК
p.age = 30 # ОК
p.salary = 5000 # Ошибка: AttributeErrorИспользуйте __slots__ для оптимизации в критичных к памяти сценариях.

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