Уникальные значения перечисления в ООП в Python
У разных членов перечисления не должно
быть одинаковых значений: иначе
непонятно, какой вариант выбран.
Контролировать это помогает декоратор
unique.
Поставим unique над классом
перечисления:
from enum import Enum, unique
@unique
class PayBand(Enum):
JUNIOR = 1
MIDDLE = 2
SENIOR = 3
Если попытаться задать два члена с одним значением, Python выдаст ошибку при создании класса:
@unique
class PayBand(Enum):
JUNIOR = 1
MIDDLE = 1 # ошибка: повтор значения
Декоратор срабатывает сразу при объявлении класса, поэтому дубликаты отлавливаются до запуска программы.
Сделайте перечисление OfficeFloor
с декоратором unique и уникальными
номерами этажей. Убедитесь, что
класс создается без ошибки.