Python Glossary Русский

Python 3.11+enumterm

enum.EnumCheck

checks

An enumeration of checks for verify(): UNIQUE, CONTINUOUS, NAMED_FLAGS (3.11+).

Syntax

enum.EnumCheck

EnumCheck does nothing on its own: its members are arguments to the verify() decorator, as in @verify(UNIQUE, CONTINUOUS). The checks run once, while the class is being built, so a violation blows up at import time rather than at first use. UNIQUE bans aliases, CONTINUOUS bans gaps in numeric values, and NAMED_FLAGS demands that composite flag values be made only of bits that already have names.

Examples

import enum
print(enum.EnumCheck.UNIQUE.name)   # → UNIQUE
print(sorted(m.name for m in enum.EnumCheck))   # → ['CONTINUOUS', 'NAMED_FLAGS', 'UNIQUE']
print(isinstance(enum.EnumCheck.UNIQUE, str))   # → True
Nums = enum.Enum('Nums', {'A': 1, 'B': 2})
print(enum.verify(enum.EnumCheck.CONTINUOUS)(Nums) is Nums)   # → True
Gap = enum.Enum('Gap', {'A': 1, 'B': 3})
enum.verify(enum.EnumCheck.CONTINUOUS)(Gap)   # → ValueError

See also

Open in the full glossarydocs.python.orgReport an inaccuracy