Hopp til innhold

Перечисления

Skip to content

Это машинный перевод текста, который может содержать ошибки!

Перечисления (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", которые могут привести к ошибкам в программе.

Enum Meme

Легко Задание 1 — Создайте перечисление (Enum)

Создайте перечисление с именем EyeColor и реализуйте его в классе Person из предыдущего модуля. Перечисление EyeColor должно иметь следующие значения:

  • BLUE
  • BROWN
  • GREEN
  • HAZEL

Перечисления (Enum) широко используются в разработке игр

Если вы откроете документацию к различным играм, то часто увидите, что они используют перечисления для определения таких вещей, как оружие, враги, уровни и тому подобное. Это потому, что это упрощает управление такими элементами в коде и помогает избежать ошибок.

https://learn.microsoft.com/en-us/minecraft/creator/scriptapi/minecraft/server/blockpistonstate?view=minecraft-bedrock-stable

Поздравляем! Теперь вы понимаете перечисления (enums)