Я возился с библиотекой enum python и столкнулся с головоломкой. В документах они приводят пример перечисления автоматического нумерации, в котором что-то определено:
class Color(AutoNumber):
red = ()
green = ()
...
Я хочу создать аналогичный класс, но значение будет автоматически задано из имени элемента и сохранить функциональность, которую вы получаете от выполнения str
и enum
материал mixin
Так что-то вроде:
class Animal(MagicStrEnum):
horse = ()
dog = ()
Animal.dog == 'dog' # True
Я просмотрел исходный код модуля enum и попробовал множество вариаций, связанных с __new__
и EnumMeta
class