Комбинация перечислений PythonPython

Программы на Python
Ответить
Anonymous
 Комбинация перечислений Python

Сообщение Anonymous »


Я хотел бы создать новый класс Enum (IntEnum) на основе двух существующих. Для этого есть рабочее решение, например:

из уникального импорта перечисления, IntEnum из цепочки импорта itertools из коллекций импорт OrderedDict @уникальный класс FirstEnumClass(IntEnum): а = 1 б = 2 @уникальный класс SecondEnumClass(IntEnum): с = 3 д = 4 # здесь создается объединенный класс: CombinedEnumClass = unique(IntEnum('CombinedEnumClass', OrderedDict([(i.name, i.value) for i в цепочке(FirstEnumClass, SecondEnumClass)]))) Мой вопрос: есть ли какой-нибудь необычный способ добиться этого, чтобы было правильное определение класса? Например, переопределить некоторые методы метакласса или что-то в этом роде? Мне бы хотелось что-то вроде этого, чтобы можно было указать и строку документации:

@unique класс КомбинированныйEnumClass(IntEnum): """ строка документации """ # здесь нужна магия Есть идеи? Спасибо!
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»