33 / 72
ТеорияСреднийMiddle-Senior

__slots__ - экономия памяти и её ограничения

Частота на собеседованиях: Средняя - вопрос про оптимизацию памяти в больших объёмах объектовСпрашивают в: Т-Банк, Яндекс

По умолчанию каждый экземпляр обычного класса в Python хранит свои атрибуты в собственном словаре __dict__. Это удобно (можно добавлять атрибуты на лету, в любой момент), но не бесплатно - словарь занимает существенно больше памяти, чем нужно было бы для хранения фиксированного набора полей. __slots__ - это способ отказаться от этой гибкости в обмен на экономию памяти.

Сколько реально весит dict у обычного объекта