Python Glossary English

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Сообщить о неточности