Українська
Підсумки
Висновки
Спеціальний метод є частиною контракту мови. Він дозволяє користуватися класом як значенням, контейнером або ресурсом, якщо його поведінка відповідає очікуванням. Dataclass прибирає повторення в коді, а перелік робить допустимі стани явними. Незмінність, рівність і хешування потрібно проєктувати разом.
Питання для самоперевірки
- Де Python шукає спеціальний метод для
len? - Чим відрізняються
repr,strтаformat? - Для чого арифметичний метод повертає
NotImplemented? - Коли відбитий метод правого типу може мати пріоритет?
- Чи завжди
+=зберігає ідентичність об’єкта? - Який зв’язок між рівністю та хешем?
- Чому змінюваний ключ небезпечний для словника?
- Що одержує
__getitem__під час зрізу? - Як зробити два незалежні обходи контейнера?
- Яке значення має повертати
__exit__, щоб не приховати збій? - Які методи типово генерує dataclass?
- Чому
default_factoryкращий за спільний список? - Чи робить
frozenвкладені поля незмінними? - Коли потрібні
Enum,StrEnumіFlag? - Як
__match_args__впливає на позиційні шаблони?