Hopp til innhold

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

Skip to content

Це машинний переклад, який може містити помилки!

Перечислення (Enums)

Переліки (enumeraції) — це спосіб визначення типу даних, який може мати лише обмежений набір попередньо заданих значень. Це полегшує уникнення помилок, оскільки змінна може містити лише допустимі значення.

Справжнім призначенням переліків не є валідація, але вони допомагають обмежити набори значень, які є допустими для змінної, і тим самим можуть сприяти запобіганню помилкам.

Наприклад, якщо у вас є клас, що представляє автомобіль, ви можете використовувати enum, щоб визначити можливі кольори цього автомобіля:

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 надає краще автодоповнення, коли ми використовуємо енамі, і ми уникаємо (робимо це складним) встановлення недійсних значень. Якщо ми спробуємо призначити колір, який не визначений у CarColor, Python викине помилку. Це робить код більш надійним та легшим для обслуговування. Чем менше можливих помилок може виникнути, тим вищою є якість нашого коду.

Уявіть, що ми маємо функцію, яка обробляє методи оплати: PayPal, VISA, MASTERCARD та BITCOIN. Використовуючи Enum для методів оплати, ми можемо забезпечити, щоб функція приймала лише дійсні методи оплати, а не "MASTERCARDD" або "CASH", які можуть призвести до помилок у програмі.

Enum Meme

Easy Завдання 1 - Створіть Enum

Створіть 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)