Чтобы создать поля, которые не должны попадать в сгенерированный метод init, используй field(init=False).
Это удобно для вычисляемых атрибутов.
Пример ниже 👇
from dataclasses import dataclass, field
@dataclass
class Rectangle:
width: int
height: int
area: int = field(init=False)
def __post_init__(self):
self.area = self.width * self.height
👉 @PythonPortal
