Введение в перечисления в ООП в Python
Иногда свойство объекта может принимать лишь несколько заранее известных значений: статус заказа, уровень доступа, цвет индикатора. Хранить такие варианты отдельными строками или числами неудобно: легко опечататься и сложнее читать код.
В Python для таких наборов служит модуль
enum. Перечисление - это класс,
наследующий Enum, а каждый допустимый
вариант задают отдельным членом
перечисления с фиксированным именем.
Давайте сделаем перечисление цветов.
Подключим базовый класс Enum
и объявим три члена:
from enum import Enum
class Color(Enum):
RED = 1
GREEN = 2
BLUE = 3
К каждому члену обращаются через имя класса и точку. Выведем один из них:
print(Color.RED) # выведет Color.RED
Так в коде видно, что используется
именно красный цвет из набора
Color, а не произвольное число
или строка.