python Dataclass

김윤하·2023년 4월 9일

Python

목록 보기
7/11

데이터를 담기 위한 좋은 습관 dataclass 활용하기

  • type-safe
  • 편한 default 값 설정
  • init, repr, eq와 같은 메직 메소드 기본 설정

기본적인 dataclass 매개변수

@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을 알고 있으면 도움이 될 것 같다.

  • unsafe_hash
    세트(set)의 값이나 사전(dictionary)에 넣고 싶을때 hashable하게 만들때 사용
  • 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)

https://docs.python.org/ko/3/library/dataclasses.html

profile
data engineer

0개의 댓글