Руководство по созданию классов и экземпляров Enum в PythonPython

Программы на Python
Гость
Руководство по созданию классов и экземпляров Enum в Python

Сообщение Гость »


Я объявляю класс в Python, в котором значение одного атрибута экземпляра будет ограничено членами Enum. Я достигаю этого с помощью пакета pydantic. Поскольку члены перечисления предоставляются пользователем в списке enum_members внутри файла конфигурации, мне нужен динамический подход для создания Enum, и я не могу жестко запрограммировать его члены. Я понимаю, что правильный подход заключается в следующем:

из перечисления import Enum MyEnum = Enum('MyEnum', enum_members) Однако это не только определяет класс Enum с именем MyEnum, но также создает экземпляр этого класса, который также называется MyEnum. Есть ли способ создать класс самостоятельно? Если я напишу:

Enum('MyEnum', enum_members) Я не получаю ошибок, но больше не могу использовать MyEnum. Удивительно, но я тоже могу написать:

MyEnumNew = Enum('MyEnum', enum_members) и я могу использовать MyEnumNew.

Какова цель строкового аргумента в Enum(...)?

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