5 месяцев назад
101 игра на python. Шпаргалки. Dataclass⁠⁠
dataclass — это декоратор, введенный в Python 3.7, который автоматически генерирует специальные методы (такие как __init__, __repr__, __eq__ и другие) для классов, которые в основном служат контейнерами для данных. Это избавляет от необходимости писать много шаблонного кода. Использование dataclass в Python значительно упрощает работу с классами, предназначенными для хранения данных. Вместо того чтобы вручную определять методы __init__, __repr__, __eq__ и другие, достаточно просто объявить поля данных, а dataclass автоматически сгенерирует необходимый код...
1 год назад
Классы данных в Python Dataclasses, появившееся в Python 3.7, позволяют значительно уменьшить количество кода для создания классов, которые предназначены для хранения данных. При использовании dataclass автоматически будут добавлены методы __init__, __repr__, __str__ и __eq__ - что довольно удобно. Для того, чтобы воспользоваться dataclass, достаточно выполнить импорт, а затем применить декоратор dataclass. Если мы хотим, чтобы создаваемые объекты дата-класса были нензменяемыми, требуется указать параметр frozen=True у декоратора dataclass В первой ячейке объекты b1 и b2 класса Book имеют одинаковые значения свойств, и благодаря тому, что метод __eq__ был автоматически добавлен в класс – выражение b1==b2 принимает значение True Во второй ячейке класс FrozenBook создан с параметром frozen=True, и, как следствие, попытка поменять значение свойства title вызывает исключение FrozenInstanceError #datastructures #beginners