Работал ли с dataclass в Python
Python
Middle
Без компании
Работал ли с dataclass в Python
Ответы
Да, работал. `dataclass` — это декоратор из модуля `dataclasses`, который упрощает создание классов, автоматически генерируя `__init__`, `__repr__`, `__eq__` и другие методы.
**Пример:**
```
from dataclasses import dataclass
@dataclass
class Person:
name: str
age: int
is_active: bool = True # значение по умолчанию
person = Person("Alice", 30)
print(person) # Person(name='Alice', age=30, is_active=True)
```
**Преимущества:**
- Уменьшает boilerplate-код.
- Поддерживает аннотации типов.
- Можно заморозить (`@dataclass(frozen=True)`), сделать неизменяемым.
- Поддержка порядка полей (`@dataclass(order=True)`).
**Ограничения:**
- Не заменяет полноценные ORM (например, SQLAlchemy).
- Для сложной валидации полей лучше использовать `__post_init__` или библиотеки типа `pydantic`.