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