Python 3.13+enumпонятие
enum.EnumDict
метакласс
Специальный словарь-пространство имён, используемый метаклассом при создании перечисления: отслеживает порядок и запрещает дубли членов (публичный класс с Python 3.13).
Синтаксис
ns = enum.EnumDict()
В обычном коде этот класс не нужен ни разу — он существует ради того, чтобы повторное присваивание одного и того же имени в теле перечисления падало с TypeError сразу, а не давало молча переопределённый член. Пригодится он только если вы пишете собственный подкласс EnumType и вручную готовите пространство имён. До Python 3.13 он был тем же самым, но приватным (_EnumDict), поэтому код с оглядкой на старые версии должен проверять наличие атрибута.
Примеры
import enum
d = enum.EnumDict() if hasattr(enum, 'EnumDict') else {}
d['A'] = 1
print(d['A']) # → 1
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности