class Color(Enum):
GREEN = '#1c5f17'
BLUE = '#565fcc'
Можно ли вызвать
Color.GREEN и вернуть '#1c5f17'?
Я не хочу звонить на Color.GREEN.value каждый раз, когда хочу использовать это.






Если вам нужен «вызов» в традиционном стиле, просто отбросьте наследование от Enum:
class Color:
GREEN = '#1c5f17'
BLUE = '#565fcc'
Начиная с Python 3.8, вы можете использовать выражения присваивания:
class Color(Enum):
GREEN = (Green := '...')
BLUE = (Blue := '...')
Теперь вы можете сохранить все унаследованное поведение перечислений при доступе к атрибутам без .value следующим образом:
my_color = Color.Green
Нет, это не так. Обычно вы не будете использовать
Color.GREEN.valueв любом месте, у вас будетColor.GREEN, используемый на высоком уровне абстракции, иcolor.valueна более низком уровне.