Tai mašinu versta tekstas, kuriame gali būti klaidų!
Enums (enumeracijos) yra būdas apibrėžti duomenų tipą, kuris gali turėti tik ribotą rinkinį iš anksto apibrėžtų verčių. Tai palengvina klaidų išvengimą, nes kintamasis gali turėti tik galiojančias vertes.
Enums griežtai kalbant nenaudojami patikrai, tačiau jie padeda apriboti kintamojo galiojančias vertes, taigi gali padėti išvengti klaidų.
Pavyzdžiui, jei turite klasę, kuri reprezentuoja automobilį, galite naudoti Enum apibrėžti, kokios spalvos automobilis gali būti:
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
Kodėl?
Mūsų IDE teikia geresnį automatinį užbaigimą, kai naudojame išvardijimus (enums), ir tai padeda išvengti (apsunkina) neteisingų verčių nustatymo. Jei bandysime priskirti spalvą, kuri nėra apibrėžta CarColor, Python išmes klaidą. Tai daro kodą patikimesnį ir lengviau prižiūrimą. Kuo mažiau galimų klaidų gali įvykti, tuo geresnės kokybės kodą gauname.
Įsivaizduokime, kad turime funkciją, kuri apdorja mokėjimo būdus: PayPal, VISA, MASTERCARD ir BITCOIN. Naudodami išvardijimą mokėjimo būdams, galime užtikrinti, kad funkcija gaus tik teisingus mokėjimo būdus, o ne "MASTERCARDD" ar "CASH", kas gali sukelti klaidų programoje.
Užduotis 1 – Sukurkite Enum
Sukurkite Enum, pavadintą EyeColor ir įgyvendinkite jį Person klasėje iš ankstesnio modulio. EyeColor turi turėti šias vertes:
BLUEBROWNGREENHAZEL
Enum dažnai naudojamas žaidimų kūrime
Jeigu paieškosite įvairių žaidimų dokumentacijoje, dažnai pamatysite, kad jie naudoja Enums apibrėžti tokius dalykus kaip ginklai, priešai, lygiai ir panašiai. Taip yra todėl, kad tai palengvina tokių dalykų valdymą kode ir lengviau išvengti klaidų.

