King of Stock
Subclassing enum.Enum in python 본문
파이썬에서 열거형 클래스를 상속받아서 직렬화까지 동작하게 하는 간단한 방법
아래 예시는 필자가 개발중인 프로그램의 일부로 문자열을 값으로 가지는 맴버로 사용자 정의 열거형 클래스이다.
from enum import Enum class StockStateType(str, Enum): """종목 상태 유형 키움 GetMasterStockState(QString) 조회 결과에서 파싱 결과의 열거형이며 증거금은 조회 결과는 제외 상태의 종류에는 거래정지, 관리종목, 감리종목, 투자유의종목, 담보대출, 액면분할, 신용가능 """ STOP = "거래정지" """거래정지""" GOVERNMENT = "관리종목" """관리종목""" SUPERVISION = "감리종목" """감리종목""" ATTENTION = "투자유의종목" """투자유의종목""" LOAN = "담보대출" """담보대출""" SPLIT = "액면분할" """액면분할""" MARGIN = "신용가능" """신용가능""" def __eq__(self, other: object) -> bool: if self.__class__ is other.__class__: return self.value == other.value if isinstance(other, str): return self.value == other return False def __hash__(self): return hash((self.name, self.value)) def __str__(self) -> str: return self.name def __repr__(self): return self.name
중요한 부분은 상속을 받을때 str 클래스도 같이 상속을 받는 것이 포인트이다.
'IT 기술' 카테고리의 다른 글
리눅스(Debian) 로케일 설정 (0) | 2022.10.14 |
---|---|
C# EntityFramework 설정 (0) | 2021.02.28 |
VSCode diff 툴 (0) | 2020.08.25 |
[DNS] ubuntu server 18.04 DNS 서버 구성해보기 (0) | 2019.12.21 |
[shell] if문에서 문자열 비교가 안될때 (0) | 2019.12.05 |
Comments