python enum 예제

그런 다음 해당 값은 고유한 ID를 가진 단일 개체로 변환됩니다. 열거형 형식의 특성으로 사용할 수 있습니다. 이러한 유형의 단순 열거를 정의하는 방법에는 여러 가지가 있습니다. 이 열거형이 있는 경우: Python 2 코드에서 _order_ 특성은 정의 순서를 기록하기 전에 손실되기 때문에 필요합니다. 그러나 두 개의 열거형 멤버는 동일한 값을 가질 수 있습니다. 동일한 값 (및 A 정의 된 첫 번째)을 가진 두 멤버 A와 B가 주어지면 B는 A. 값별 조회에 대한 별칭이며 B의 이름 별 조회도 반환합니다. , 클래스 생성 중에 제거됨) 이 예제에서 각 멤버 값은 숫자 ID(예: 데이터베이스에 저장될 수 있음)와 현재 상태에서 떨어진 유효한 전환 목록을 포함하는 튜플입니다. 각 열거 멤버에 대한 값을 지정하지 않아도 됩니다: Python에서 기본 제공 함수 형식은 하나 또는 세 개의 인수를 허용합니다.

Python 설명서에 따르면 입력할 인수를 하나 전달하면 개체 의 형식을 반환합니다. 형식(이름, 베이스, dict)으로 입력하는 세 개의 인수를 전달할 때: 여기서 실제로 필요한 것은 열거형 개체로만 작업할 수 있는 일종의 EnumProperty입니다. 그러나 표준 열거형 베이스가 도입되기 전에는 ORM 및 기타 유사한 라이브러리에 이러한 기능을 제공하는 인센티브가 거의 없었습니다. 그러나 이제는 사용자가 이미 자체 코드에서 표준 열거형 표준을 선호할 것으로 예상할 수 있기 때문에 적어도 데이터 교환 및 직렬화를 위해 일류 시민으로서 열거형을 지원하는 것이 훨씬 더 합리적입니다. 이 예제에서는 tuples 대신 사전을 사용하여 이전 예제와 동일한 데이터를 표현합니다. 모두 모두, 그것은 세척 처럼 보인다-비록 적어도 우리는 열거형 그들의 대안 보다 더 나쁜 :) 피클링에 대한 일반적인 제한 사항 적용: 피클링 해제는 해당 모듈에서 가져올 수 있어야 하므로 피클 가능 열거형은 모듈의 최상위 수준에서 정의되어야 합니다. 열거형 값 간의 정렬된 비교는 지원되지 않습니다. 열거형 멤버는 정수(하지만 아래 IntEnum 참조): IntEnum은 열거형 모듈의 일부이지만 독립적으로 구현하는 것은 매우 간단합니다. 새로운 피클 프로토콜 4는 경우에 따라 피클이 클래스를 찾을 수 있는 위치로 설정되는 __qualname__에 의존합니다. 예를 들어 클래스가 전역 범위의 SomeData 클래스에서 사용할 수 있게 된 경우: IntEnum을 기반으로 하지 않고 정상적인 열거체(예: 다른 열거체와 비교할 수 없음)를 유지하는 정렬된 열거형은 파이썬의 열거형이 “열거형”이라는 모듈을 사용하여 구현됩니다. 열거형은 클래스를 사용하여 만들어집니다.

Comments are closed.