Методы перечисления в ООП в Python
В классе перечисления можно объявлять
методы так же, как в обычном классе.
Метод вызывают у конкретного члена,
а первым аргументом self
будет этот член.
Добавим в Color метод show,
который выводит имя члена:
from enum import Enum
class Color(Enum):
RED = 1
GREEN = 2
BLUE = 3
def show(self):
return self.name
Вызовем метод у члена RED:
print(Color.RED.show()) # выведет 'RED'
Внутри метода self - это
Color.RED, а не класс
Color целиком. У другого
члена тот же метод вернет
свое имя:
print(Color.GREEN.show()) # выведет 'GREEN'
Сделайте перечисление BonusTier
с методом, возвращающим текстовую
метку уровня премии. Вызовите метод
у двух разных членов.