zenn.skin 무료버전 배포중!
자세히보기

Python/Syntax

[Python] Dictionary 대신 사용할 수 있는 dataclass

koosco! 2022. 9. 10. 04:27

앞서 설명한 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'의 다른글

  • 현재글 [Python] Dictionary 대신 사용할 수 있는 dataclass

관련글