@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)
init, repr, eq 기본적으로 설정되어 있으며 뒤에 unsafe_hash, frozen을 알고 있으면 도움이 될 것 같다.
그리고 기본적인 형타입이 아닌 다른 추가적인 정보를 default 값으로 사용하기 위해 field라는 함수를 통해 구현 ex) list
기타 더 많은 활용법들을 아래 공식 document를 통해서 확인 할 수 있다.
from dataclasses import dataclass, field
from typing import List
@dataclass
class Character:
nickname: str
hp: int = 10
mp: int = 10
items: List[str] = field(default_factory=list)