앞서 설명한 NamedTuple은 값을 수정하려 하면 AttributeError가 발생하기 때문에 딕셔너리 자료형과 마찬가지로 값을 수정할 때 발생하는 오류에 취약할 수 있습니다.
dataclass는 NamedTuple처럼 클래스로 사용하는 방식이 아닌 데코레이터를 사용하는 방법입니다.
from dataclasses import dataclass
@dataclass
class PersonInfo:
height: float
weight: float
name: str
person = PersonInfo(180, 75, 'koo')
NamedTuple과 동일한 방식으로 값에 접근할 수 있고, 값에 수정도 가능합니다.
print(person.height) # 180
person.height = 181
print(person.height) # 181
이렇게 Type Annotation을 사용하며 딕셔너리 자료형을 사용하는 방법에 대해 정리해 보았습니다.
'Python > Syntax' 카테고리의 다른 글
[Pandas] pivot (0) | 2022.09.28 |
---|---|
[Pandas] 빈도표 구하기, 카이제곱검정(crosstab, chi2_contingency) (0) | 2022.09.10 |
[Python] Dictionary 대신 사용할 수 있는 NamedTuple (NamedTuple Type Annotation) (0) | 2022.09.10 |
[colab] colab에서 ipynb파일 import하기 (0) | 2022.09.02 |
[matplotlib] 텍스트 추가하기, annotate (0) | 2022.09.02 |