Это машинный перевод текста, который может содержать ошибки!
Перечисления (enums) — это способ определить тип данных, который может принимать только ограниченный набор заранее заданных значений. Это позволяет избежать ошибок, поскольку переменная может содержать только допустимые значения.
Строго говоря, перечисления не используются для валидации, но они помогают ограничить диапазон допустимых значений переменной и тем самым способствуют предотвращению ошибок.
Например, если у вас есть класс, представляющий автомобиль, вы можете использовать перечисление для определения цветов, которые этот автомобиль может иметь:
from enum import Enum
class CarColor(Enum):
RED = "red"
BLUE = "blue"
GREEN = "green"
BLACK = "black"
WHITE = "white"
class Car:
def __init__(self, make: str, model: str, year: int, color: CarColor):
self.make = make
self.model = model
self.year = year
self.color = color
Почему?
Наша IDE обеспечивает более качественное автодополнение при использовании перечислений (enums), а мы избегаем (создаём трудности для этого) установки недействительных значений. Если мы попробуем присвоить цвет, который не определён в CarColor, Python вызовет ошибку. Это делает код более устойчивым и удобным для поддержки. Чем меньше возможных ошибок может возникнуть, тем выше качество кода.
Представьте, что у нас есть функция, обрабатывающая методы оплаты: PayPal, VISA, MASTERCARD и BITCOIN. Используя Enum для методов оплаты, мы можем убедиться, что функция принимает только действительные методы оплаты, а не "MASTERCARDD" или "CASH", которые могут привести к ошибкам в программе.
Задание 1 — Создайте перечисление (Enum)
Создайте перечисление с именем EyeColor и реализуйте его в классе Person из предыдущего модуля. Перечисление EyeColor должно иметь следующие значения:
BLUEBROWNGREENHAZEL
Перечисления (Enum) широко используются в разработке игр
Если вы откроете документацию к различным играм, то часто увидите, что они используют перечисления для определения таких вещей, как оружие, враги, уровни и тому подобное. Это потому, что это упрощает управление такими элементами в коде и помогает избежать ошибок.

