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