본문 바로가기

728x90
반응형

python dataclass

(2)
dictionary를 dataclass로 만들고 다시 class로 정의하기 개요 외부에 request를 보내서 응답받는 데이터가 dictionary인 경우가 생긴다. 이를 다시 Project Source 내에서 적절한 Objects로 변환해서 사용해야 하는 상황일 때 써먹는 방법에 대한 글이다. dataclass 변환에 사용할 dictionary 다음은 외부에 request를 보내서 받은 dictionary를 dataclass로 변환하기 위해 가정한 dictionary이다. data = { "account_balance": -9999, "address": None, "business_vat_id": None, "created": 1694803249, "currency": "eur", "resource": {}, "meta": [] } data에 들어있는 key에 대한 type에..
외부 APIResponse Data를 DataClass로 변경하기 개요 Python에서 Type Hint를 적용하면 TypedDict를 사용해 Key를 자동완성 시킨다거나 특정 클래스에 어떤 속성이 들어 있는지 파악할 수 있어 많이 편리합니다. 하지만 Typing 자체를 적용하려고 공수를 들여 작업하는 케이스도 존재합니다. 이번에 마주한 경우는 외부 API에서 받은 응답을 프로젝트에서도 사용할 수 있게 구성해야 했습니다. 단순히 API의 요청과 응답을 제공하는 메서드를 만드는 것이 아닌 응답받은 데이터에 대해 TypeHint를 적용해 코드 자동 완성을 달성하기 위함이었죠. 문제는 외부 API에서 응답으로 주는 데이터가 중첩된 구조의 자료형일 때 나타났습니다. 여기서 중첩된 구조라 하면 다음과 같은 형태를 말합니다. { "a": { "b": { "c": 1, "e": 1..

728x90
반응형