Обложка канала

Python - Советы, библиотеки, гайды

10180 @xo_py

Всё для Python программиста :3 Готовый код, советы, лайфхаки, годные библиотеки, уроки и многое другое!

Python - Советы, библиотеки, гайды

4 года назад
Открыть в
🐍 Совет по Python №9. dataclasses — встроенный модуль, который предоставляет декоратор и функции для автоматического добавления сгенерированных специальных методов в определяемые пользователем классы. По умолчанию у dataclass есть методы init, repr и eq, поэтому их не нужно реализовывать самостоятельно. На первом примере идентификаторы title и author используются несколько раз. Реальный класс же будет ещё содержать переопределенные методы eq и repr. На втором примере мы автоматически получаем класс, с реализованными методами init, repr, и eq. Кроме того, это будет обычный класс и вы можете наследоваться от него. Чем полезен dataclass? Конструкции dataclass позволяют писать шаблонный код и упрощают процесс создания классов. Стоит отметить, что аннотации типов обязательны. Все поля, которые не имеют отметок о типе будут проигнорированы. Конечно, если вы не хотите использовать конкретный тип, вы можете указать Any из модуля typing. Документация и примеры кода здесь :3