В справочной части модели данных Python на слотах есть список заметок об использовании __slots__. Я полностью смущен 1-м и 6-м пунктами, потому что они, кажется, противоречат друг другу.
Первый элемент:
- При наследовании от класса без
__slots__, атрибут__dict__этого класса всегда будет доступный, поэтому a__slots__определение в подклассе бессмысленны.
Шестой элемент:
- Действие a
__slots__объявление ограничивается классом где он определен. В результате, подклассы будут иметь__dict__если они также не определяют__slots__(который должен содержать только имена любых дополнительные слоты).
Мне кажется, что эти предметы можно было лучше сформулировать или показать с помощью кода, но я пытался обвести голову вокруг этого, и я все еще смущен. Я понимаю, как __slots__ предполагается использовать, и я пытаюсь лучше понять, как они работают.
Вопрос:
Может кто-нибудь, пожалуйста, объясните мне простым языком, каковы условия для наследования слотов при подклассификации?
(Простые примеры кода были бы полезны, но не обязательно.)