2015년 5월 1일 금요일

파이썬의 Enum 클래스 (버전 3.4 이상)

 파이썬 3.4 이상에서 표준화된 Enum객체를 지원한다. 자세한 설명은 여기에 있다. 간략한 사용법을 알아보도록 하자.

 일단 Enum 클래스를 임포트해야 한다.

>>> from enum import Enum

첫 번째로 다음과 같이 클래스를 Enum을 상속해서 생성할 수 있다.

>>> class Color(Enum):
...     red = 1
...     green = 2
...     blue = 3

이제 Color.red 또는 Color.green 과 같이 사용할 수 있다. 첫 번째 값은 보통 1부터 시작한다. (0으로 시작하면 그 필드는 False가 된다.)

 다른 방법으로 다음과 같이 더 간단히 생성할 수 있다.

>>> Color = Enum('Color', 'red green blue')

유의할 점은 인스턴스 이름과  Enum생성자의 첫 인자가 (위에서 밑줄 쳐진 두 부분) 같아야 한다. 이제 이전과 마찬가지로 Color.red 또는 Color.green 과 같이 사용할 수 있다.

enum 필드는 name과 value를 가진다. 예를 들어 Color.blue 의 name 은 'blue' value 는 3 이다.

>>> Color.blue.name
'blue'

>>> Color.blue.value
3

>>> type(Color.blue)
<enum 'Color'>

댓글 없음:

댓글 쓰기