Enumit

Skip to content

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.

Enum Meme

Easy Tehtävä 1 – Luo Enum

Luo Enum nimeltä EyeColor ja toteuta tämä Person -luokassa edellisestä moduulista. EyeColor:lla tulee olla seuraavat arvot:

  • BLUE
  • BROWN
  • GREEN
  • HAZEL

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ä.

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

Onnittelut, nyt ymmärrät enumit