Встречается на собеседованиях • сегодня

Для чего нужен slots

__slots__ в Python используется для оптимизации памяти, ограничивая набор атрибутов, которые могут быть у экземпляра класса. Это полезно, когда нужно уменьшить потребление памяти, особенно при создании множества экземпляров.

Преимущества:

  • Экономит память, так как исключает __dict__ для хранения атрибутов.
  • Ускоряет доступ к атрибутам (меньше накладных расходов).

Ограничения:

  • Нельзя динамически добавлять новые атрибуты.
  • Наследование требует аккуратного использования.

Пример:

python
class User:
    __slots__ = ('name', 'age')  # Разрешенные атрибуты

user = User()
user.name = "Alice"  # OK
user.age = 30        # OK
user.email = "a@b.c" # AttributeError (не в __slots__)

Используйте __slots__ для классов с фиксированным набором атрибутов и большим количеством экземпляров.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы