Зачем нужен dataclass
Python
Senior
Мой Офис
Зачем нужен dataclass
Ответы
Dataclass в Python — это декоратор, который автоматически генерирует специальные методы (`__init__`, `__repr__`, `__eq__` и др.) для класса, сокращая boilerplate-код. Особенно полезен для классов, которые в основном хранят данные.
**Пример:**
```
from dataclasses import dataclass
@dataclass
class Point:
x: float
y: float
p1 = Point(1.0, 2.0)
p2 = Point(1.0, 2.0)
print(p1) # Point(x=1.0, y=2.0)
print(p1 == p2) # True
```
**Преимущества:**
- Автоматическая генерация `__init__`, `__repr__`, `__eq__`.
- Поддержка типизации (type hints).
- Меньше рутинного кода.
- Опциональные параметры (`frozen=True` для иммутабельности, `order=True` для сравнений).
**Когда использовать:**
- Классы-контейнеры данных (DTO, модели, точки, координаты).
- Когда нужна читаемость и минимализм кода.