Python Glossary English

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