Что такое dataclass в Python
Python
Junior
Без компании
Что такое dataclass в Python
Ответы
Dataclass — это декоратор из модуля `dataclasses`, который автоматически генерирует специальные методы (`__init__`, `__repr__`, `__eq__` и др.) для классов, хранящих данные. Упрощает создание классов, которые в основном используются для хранения атрибутов.
Основные преимущества:
- Автоматическая генерация `__init__`, `__repr__`, `__eq__`
- Поддержка значений по умолчанию
- Возможность сделать класс неизменяемым (frozen=True)
- Интеграция с type hints
Пример:
```
from dataclasses import dataclass
@dataclass
class Point:
x: float
y: float
name: str = "origin" # default value
p1 = Point(1.0, 2.0)
print(p1) # Point(x=1.0, y=2.0, name='origin')
```
Для mutable объектов используйте `field(default_factory=list)`. Можно добавить методы как в обычный класс.