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

🐍 Python Turbo 🐍

19061 @bestpython

Трюки и полезности Python. Все в одном месте. Никакой воды, только полезные материалы. Марафоны по кодингу, разбор вашего кода в чате.

🐍 Python Turbo 🐍

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