Tämä on konekäännetty teksti, joka saattaa sisältää virheitä!
Enums (enumerations) on tapa määritellä tietotyyppi, jolla voi olla vain rajallinen joukko ennalta määritettyjä arvoja. Tämä helpottaa virheiden välttämistä, koska muuttujalla voi olla vain kelvollisia arvoja.
Enumeja ei varsinaisesti käytetä validointiin, mutta ne auttavat meitä rajoittamaan muuttujan kelvollisia arvoja, ja siten ne voivat auttaa virheiden ehkäisemisessä.
Esimerkiksi, jos sinulla on luokka, joka edustaa autoa, voit käyttää Enumia määritelläksesi, mitä värejä autolla voi olla:
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
Miksi?
IDE:mme tarjoaa paremman automaattisen täydennyksen, kun käytämme enumeraatioita, ja vältämme (vaikeutamme) virheellisten arvojen asettamista. Jos yritämme määrittää värin, jota ei ole määritelty CarColor-enumeraatiossa, Python heittää virheen. Tämä tekee koodista vankempaa ja helpompaa ylläpitää. Mitä vähemmän mahdollisia virheitä voi syntyä, sitä parempaa laatua koodi on.
Kuvittele, että meillä on funktio, joka käsittelee maksutapoja: PayPal, VISA, MASTERCARD ja BITCOIN. Käyttämällä maksutapojen enumeraatiota voimme varmistaa, että funktio vastaanottaa vain kelvollisia maksutapoja, eikä esimerkiksi "MASTERCARDD" tai "CASH", mikä voi johtaa virheisiin ohjelmassa.
Tehtävä 1 – Luo Enum
Luo Enum nimeltä EyeColor ja toteuta tämä Person -luokassa edellisestä moduulista. EyeColor:lla tulee olla seuraavat arvot:
BLUEBROWNGREENHAZEL
Enumia käytetään paljon pelikehityksessä
Jos etsit dokumentaatiota eri peleistä, huomaat usein, että ne käyttävät Enumeja määritelläkseen asioita, kuten aseita, vihollisia, tasoja ja vastaavia. Tämä johtuu siitä, että se helpottaa tällaisten asioiden käsittelyä koodissa ja helpottaa virheiden välttämistä.

