Что такое класс данных объекта
Python
Middle
Без компании
Что такое класс данных объекта
Ответы
Класс данных объекта (dataclass) — это декоратор `@dataclass` в Python, который автоматически добавляет специальные методы (`__init__`, `__repr__`, `__eq__` и др.) для классов, предназначенных в основном для хранения данных. Упрощает создание классов, уменьшая boilerplate-код.
Пример:
```
from dataclasses import dataclass
@dataclass
class Point:
x: int
y: int
name: str = "origin" # значение по умолчанию
p = Point(1, 2)
print(p) # Point(x=1, y=2, name='origin')
```
Ключевые особенности:
- Автоматически генерирует `__init__`, `__repr__`, `__eq__`
- Поддерживает значения по умолчанию
- Можно сделать неизменяемым через `@dataclass(frozen=True)`
- Оптимизирован для хранения данных, а не поведения
Альтернатива namedtuple, но с большей гибкостью (изменяемость, наследование). Появился в Python 3.7 (модуль `dataclasses`).