Python 3.11+enumпонятие
enum.member
члены
Обёртка, принудительно делающая значение членом перечисления (Python 3.11+); полезно для функций/дескрипторов.
Синтаксис
X = enum.member(value)
Нужна ровно там, где обычные правила Enum срабатывают против вас: функция, lambda, дескриптор или вложенный класс в теле перечисления членом не становятся — Python считает их методами класса. Обёртка снимает это исключение и заставляет значение стать полноценным членом с .name и .value. Для обычных чисел и строк она избыточна, а до Python 3.11 приходилось хитрить, заворачивая функцию, например, в functools.partial.
Примеры
import enum
class C(enum.Enum):
X = enum.member(1)
print(C.X.value) # → 1
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности