В чем разница навесить или не навесить декоратор @dataclass

Python Middle Без компании
В чем разница навесить или не навесить декоратор @dataclass
Ответы
Декоратор `@dataclass` автоматически генерирует специальные методы (`__init__`, `__repr__`, `__eq__` и др.) для класса, сокращая boilerplate-код. Без него эти методы нужно писать вручную. Пример с `@dataclass`: ``` from dataclasses import dataclass @dataclass class Point: x: int y: int ``` Эквивалент без декоратора: ``` class Point: def __init__(self, x, y): self.x = x self.y = y def __repr__(self): return f"Point(x={self.x}, y={self.y})" def __eq__(self, other): return self.x == other.x and self.y == other.y ``` Ключевые отличия: - `@dataclass` автоматически создает `__init__`, `__repr__`, `__eq__` - Поддерживает type hints (но не проверяет типы) - Можно добавить методы вручную при необходимости - Есть дополнительные параметры: `frozen=True`, `order=True` и др.