Hopp til innhold

Wyliczenia

Skip to content

To jest tekst przetłumaczony maszynowo, który może zawierać błędy!

Wymienione typy danych (Enum)

Wymienione typy danych (enumerycje) to sposób na zdefiniowanie typu danych, który może przyjmować tylko ograniczony zestaw wstępnie określonych wartości. Umożliwia to łatwiejsze unikanie błędów, ponieważ zmienna może mieć wyłącznie poprawne wartości.

Typy enum nie służą ściśle do walidacji, ale pomagają nam ograniczyć wartości dopuszczalne dla zmiennej, co może przyczynić się do zapobiegania błędom.

Na przykład, jeśli masz klasę reprezentującą samochód, możesz użyć typu enum do zdefiniowania kolorów, jakie ten pojazd może posiadać:

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

Dlaczego?

Nasz edytor kodu oferuje lepsze automatyczne uzupełnianie przy użyciu wyliczeń (enums), a my unikamy (lub utrudniamy sobie) ustawianie nieprawidłowych wartości. Jeśli spróbujemy przypisać kolor niezdefiniowany w CarColor, Python zgłosi błąd. Dzięki temu kod staje się bardziej odporny na błędy i łatwiejszy do utrzymania. Im mniej potencjalnych błędów może wystąpić, tym wyższa jest jakość naszego kodu.

Wyobraźmy sobie funkcję obsługującą metody płatności: PayPal, VISA, MASTERCARD oraz BITCOIN. Wykorzystanie wyliczenia (Enum) dla metod płatności pozwala nam zapewnić, że funkcja przyjmuje wyłącznie prawidłowe metody płatności, a nie np. "MASTERCARDD" lub "CASH", co mogłoby prowadzić do błędów w programie.

Mem o Enumach

Łatwy Zadanie 1 – Utwórz enuma

Utwórz enum o nazwie EyeColor i zaimplementuj go w klasie Person z poprzedniego modułu. EyeColor ma mieć następujące wartości:

  • BLUE
  • BROWN
  • GREEN
  • HAZEL

Enum jest szeroko stosowane w tworzeniu gier

Jeśli sprawdzisz dokumentację różnych gier, często zobaczysz, że używają Enum do definiowania rzeczy takich jak broń, wrogowie, poziomy i tym podobne. Dzieje się tak, ponieważ ułatwia to obsługę takich rzeczy w kodzie i ułatwia unikanie błędów.

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

Gratulacje, teraz już rozumiesz enumy