Изучаю вариатность в программировании.
Вариантность — перенос наследования исходных типов на производные от них типы.
Есть 3 вида:
- Ковариантность — перенос наследования исходных типов на производные от них типы в прямом порядке.
- Контравариантность — перенос наследования исходных типов на производные от них типы в обратном порядке.
- Инвариантность — ситуация, когда наследование исходных типов не переносится на производные.
В питоне довольно подробно вариантность описана в:
- PEP 483 – The Theory of Type Hints;
- PEP 484 – Type Hints;
Классные PEP. Нужно изучить их более внимательно.
Честно, осмысление данного вопроса дается непросто. Нужно писать примеры, много примеров. Без практики тема не заходит.
Подскажите, как у вас с данной темой? Что помогло в освоении?
Post #437
82