【Python】 Python ~ 基本編 / Enum ~

■ はじめに

列挙型(Enum)を好んで使うのだが
Python では、どうなんだと思い、調べてみた
(あんまりメジャーじゃなさげ)

Enum

https://docs.python.org/ja/3/library/enum.html

より

* From  v3.4 (意外と新しい)

■ サンプル

例1:Enumの定義

from enum import Enum

class Color(Enum):
  RED = 1
  BLUE = 2
  GREEN = 3

def print_color(color):
  if color == Color.RED:
    print('This is Red!')
  elif color == Color.BLUE:
    print('This is Blue!!')
  elif color == Color.GREEN:
    print('This is Green')
  else:
    print('Unsupported color')


if __name__ == '__main__':
  print_color(Color.GREEN)

例2:文字列

from enum import Enum

class ResultType(Enum):
  OK = 'ok'
  NG = 'ng'

if __name__ == '__main__':
  print('Result : {}'.format(ResultType.OK.value))

出力結果

Result : ok

例3:Enumのループ

from enum import Enum

class Color(Enum):
  RED = 'Red'
  BLUE = 'Blue'
  GREEN = 'Green'

for color_type in Color:
  print(color_type.value)

出力結果

Red
Blue
Green

参考文献

https://qiita.com/macinjoke/items/13aa9ba64cf9b688e74a
https://www.gesource.jp/weblog/?p=8255

関連記事

Python ~ 基本編 / 文字列 ~
https://dk521123.hatenablog.com/entry/2019/10/12/075251