Встречается на собеседованиях • сегодня
Что такое __slots__
__slots__ — это механизм в Python для оптимизации памяти, ограничивающий набор атрибутов экземпляра класса. Он заменяет динамический словарь __dict__ фиксированным набором атрибутов, что уменьшает потребление памяти и ускоряет доступ к атрибутам.
Пример:
python
class User:
__slots__ = ['name', 'age'] # Фиксированные атрибуты
def __init__(self, name, age):
self.name = name
self.age = age
user = User("Alice", 30)
print(user.name) # Alice
user.email = "alice@example.com" # AttributeError (атрибут не в __slots__)Плюсы:
- Экономия памяти (особенно полезно для множества экземпляров).
- Быстрый доступ к атрибутам.
Минусы:
- Нельзя динамически добавлять атрибуты.
- Наследование требует аккуратности (если родитель имеет
__slots__, у потомка тоже должен быть).

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