Я только что обнаружил существование Enum базового класса в python, и я пытаюсь представить, как это может быть полезно мне.
Скажем, я определяю статус светофора:
from enum import Enum, auto
class Signal(Enum):
red = auto()
green = auto()
orange = auto()
Скажем, я получаю информацию от некоторой подсистемы в своей программе в виде строки, представляющей название цвета, например brain_detected_colour = "red"
.
Как сравнить эту строку с сигналами светофора?
Очевидно, brain_detected_colour is Signal.red
является False
, потому что Signal.red
не является строкой.
Signal(brain_detected_colour) is Signal.red
не работает с ValueError: 'red' is not a valid Signal
.