What is Enum in Python?
В Python, enum - это класс, который представляет собой группу именованных констант. Он позволяет создавать переменные, которые могут содержать только определенное набор значений или констант. Enum объявляется с помощью ключевого слова "enum". Пример ниже:
python
from enum import Enum
class Color(Enum):
RED = 1
GREEN = 2
BLUE = 3
Здесь мы создали класс Color, который наследует от класса Enum и имеет три именованные константы: RED, GREEN и BLUE. Значения этих констант равны 1, 2 и 3 соответственно.
Можно получать доступ к константам следующим образом:
python
print(Color.RED) # выводит: Color.RED
print(Color.RED.value) # выводит: 1
Можно также сравнивать константы:
python
color = Color.RED
if color == Color.RED:
print("The color is red.")
else:
print("The color is not red.")
Enum позволяет создавать свои собственные методы и атрибуты. Например:
python
from enum import Enum
class Color(Enum):
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)
def __init__(self, rgb):
self.rgb = rgb
@property
def hex_code(self):
"""Возвращает шестнадцатиричный код RGB."""
r, g, b = self.rgb
return "#{:02x}{:02x}{:02x}".format(r, g, b)
print(Color.RED.hex_code) # выводит: #ff0000
Здесь мы добавили атрибут rgb в каждую константу и метод hex_code, который возвращает шестнадцатиричный код RGB для каждой константы.
В общем, Enum в Python позволяет создавать именованные константы и структурировать свой код, что облегчает чтение и понимание программы. Кроме того, Enum может содержать методы и атрибуты, что дополнительно расширяет возможности этого класса.