enum — Перечисления
Перечисление (enum) — это набор символических имен, привязанных к уникальным константным значениям.
from enum import Enum, auto
class Color(Enum):
RED = 1
GREEN = 2
BLUE = 3
print(Color.RED.name) # 'RED'
print(Color.RED.value) # 1
# Автоматические значения
class Day(Enum):
MON = auto() # 1
TUE = auto() # 2
# Итерация
for d in Day:
print(d.name)
Полный справочник API (API Reference)
Базовые классы
| Класс |
Описание |
enum.Enum |
Главный класс, от которого наследуются для создания перечислений. |
enum.IntEnum |
Класс, чьи элементы также являются наследниками стандартного типа int (с ними можно производить мат. операции). |
enum.Flag |
Класс, элементы которого можно комбинировать битовыми операциями ` |
Утилиты
| Функция/Декоратор |
Описание |
enum.auto() |
Автоматически подставляет уникальное целочисленное значение (обычно 1, 2, 3...) в член перечисления. |
@enum.unique |
Декоратор для перечисления. Вызовет ошибку ValueError, если внутри есть два ключа с одинаковыми значениями. |