dataclass 사용 방법

leeway·2023년 1월 5일
0

python

목록 보기
2/4
post-thumbnail

dataclass는 주로 데이터를 저장하기 위해 사용되며, 이해하기 쉽고 유지보수하기 쉬우며 디버깅하기 쉬운 class를 생성할 수 있음

dataclass 사용하기

from dataclasses import dataclass

@dataclass
class User:
    number: int
    name: str

class를 이용한 데이터 저장의 필요성

프로그램이 실행되려면 값이 숫자인가 문자열인가 등에 따라 값을 저장하는 방식이나 계산하는 방법이 다르기 때문에, 컴퓨터는 각 변수에 어떤 종류의 값이 들어가 있는지 알아야 함

이러한 값의 종류를 자료형(data type) 혹은 타입(type)이라고 함

기존 내장 자료 구조(list, tuple, dictoinary, set 등)는 사용하기 간편하다는 장점이 있음

class를 이용한 방법은 type-safe해지기 때문에 프로그램 실행 중에 오류가 발생할 확률이 적어지는 장점이 있음

dataclass 장점은?

- chatGPT 답변

dataclass는 Python 3.7에서 소개된 decorator로, 기본적으로 데이터를 저장하기 위해 사용되는 클래스를 생성할 때 사용합니다. 이 decorator는 클래스의 속성과 속성의 유형에 기반해 자동으로 여러 특수 메소드(예: __init__, __repr__, __eq__)를 생성합니다.

  • 작성해야 할 코드량을 줄입니다. dataclass를 사용하면 class의 속성과 속성의 타입만 정의하면, 특별한 method들이 자동으로 생성됩니다. 속성이 많은 경우 이를 사용하면 특히 유용합니다.
  • 데이터를 저장하기 위해 사용될 수 있는 클래스를 쉽게 생성할 수 있습니다. dataclass를 사용하면, 데이터를 저장하기 위한 코드가 짧고 이해하기 쉬운 class를 쉽게 생성할 수 있습니다.
  • class의 자기 제어성을 높일 수 있게 해줍니다. 특별한 method들이 자동으로 생성되기 때문에, 이들을 직접 구현할 필요가 없기 때문입니다. 이는 class의 핵심 기능에 집중하기 쉬워집니다.
  • 디버깅하기 쉬운 class를 작성하기 쉽게 해줍니다. dataclass를 사용하면, 오브젝트의 속성들을 쉽게 출력할 수 있기 때문에, 코드 디버깅에 도움이 됩니다. 이는 __repr__ method가 자동으로 생성되기 때문입니다.


Reference

profile
자연어처리 개발자

0개의 댓글