파이썬 3.7 버전에 나온 dataclasses는 init(), repr(), eq() 와 같은 매직 메서드를 사용자 정의 클래스에 자동으로 추가하는 데코레이터 함수를 제공한다. 파이썬 상에서 데이터를 다루면서 정합성과 코드 가독성 높이고 오류를 줄일 수 있는 방법 중 하나이다.
@dataclasses.dataclass(*, init=True, repr=True, eq=True, order=False, unsafe_hash=False, frozen=False, match_args=True, kw_only=False, slots=False, weakref_slot=False)
@dataclasses.field(*, default=MISSING, default_factory=MISSING, init=True, repr=True, hash=None, compare=True, metadata=None, kw_only=MISSING)
(example)
@dataclass
class C:
a: int
b: int = 0
mylist: list[int] = field(default_factory=list)
c = C(1)
c.mylist += [1, 2, 3]
https://docs.python.org/ko/3/library/dataclasses.html#module-dataclasses