Oppregninger i Python implementeres ved å bruke modulen som heter enum . Oppregninger lages ved hjelp av klasser . Enums har navn og verdier knyttet til dem. La oss dekke de forskjellige konseptene Python Enum i denne artikkelen.
Hva er Enums og hvorfor er de nyttige?
Enumerations eller Enums er et sett med symbolske navn bundet til unike verdier. Det kan itereres for å returnere dets kanoniske medlemmer i definisjonsrekkefølge. Det gir en måte å lage mer lesbar og selvdokumenterende kode ved å bruke meningsfulle navn i stedet for vilkårlige verdier.
Egenskaper til Enum
- Enums kan vises som streng eller repr.
- Enums kan sjekkes for deres typer ved å bruke type() .
- De Navn nøkkelord brukes til å vise navnet på enum-medlemmet.
Hva er fordelene med Enum
Noen av fordelene med å bruke enums inkluderer:
- Enkel vedlikehold: Enums sentraliserer definisjonen av navneverdier som gjør det enklere å oppgradere eller utvide settet med verdier i henhold til våre krav.
- Lesbarhet og egendokumentasjon: Enums gir meningsfulle navn på verdier, noe som gjør koden mer lesbar og selvforklarende.
- Type sikkerhet : Enums gir et visst nivå av typesikkerhet, og sikrer at bare gyldige verdier kan brukes.
- Redusert risiko for feil : Enums hjelper til med å forhindre bruk av ukorrekte eller inkonsekvente verdier i koden din, og reduserer risikoen for feil og feil.
Enum-klasse i Python
Python-kode for å demonstrere oppregninger
Denne koden definerer en oppregningsklasseSeason>med fire medlemmer: VÅR, SOMMER, HØST og VINTER. Den viser nøkkelegenskapene til enum, for eksempel tilgang til et enum-medlem, dets navn og verdi. I tillegg demonstrerer den hvordan du får en liste over alle enum-medlemmer. Utdataene gjenspeiler navnet, verdien, typen og en liste over alleSeason>enum medlemmer.
Python3
vis skjulte apper
from> enum>import> Enum> class> Season(Enum):> >SPRING>=> 1> >SUMMER>=> 2> >AUTUMN>=> 3> >WINTER>=> 4> print>(Season.SPRING)> print>(Season.SPRING.name)> print>(Season.SPRING.value)> print>(>type>(Season.SPRING))> print>(>repr>(Season.SPRING))> print>(>list>(Season))> |
>
>
Produksjon:
Season.SPRING SPRING 1 [, , , ]>
Tilgang til moduser
Enum-medlemmer kan nås på to måter:
- Etter verdi :- I denne metoden sendes verdien av enum member.
- Ved navn :- I denne metoden sendes navnet på enum-medlemmet.
En egen verdi eller navn kan også nås ved å bruke Navn eller verdi nøkkelord.
Koden definerer en oppregningsklasse ' Season'> med fire medlemmer. Den viser hvordan du får tilgang til enum-medlemmer etter verdi og navn. Den demonstrerer at du kan få et enum-medlem ved å spesifisere verdien eller navnet, og deretter få tilgang til navnet eller verdien tilsvarende. Denne koden gir eksempler for både verdibasert og navnebasert medlemstilgang.
Python3
from> enum>import> Enum> class> Season(Enum):> >SPRING>=> 1> >SUMMER>=> 2> >AUTUMN>=> 3> >WINTER>=> 4> print>(>'The enum member associated with value 2 is : '>, Season(>2>).name)> print>(>'The enum member associated with name AUTUMN is : '>, Season[>'AUTUMN'>].value)> |
>
>
Produksjon:
The enum member associated with value 2 is : SUMMER The enum member associated with name AUTUMN is : 3>
Oppregninger er gjentakelig . De kan itereres ved hjelp av løkker
I dette eksemplet vil vi bruke for Løkke for å skrive ut alle medlemmene i Enum-klassen.
Koden definerer en oppregningsklasse ' Season'> med fire medlemmer. Den går gjennom enum-medlemmene og skriver ut verdiene og navnene deres. Utdataene viser verdien til hvert enum-medlem og dets fullt kvalifiserte navn, og gir en måte å jobbe med og vise enum-verdier på.
Python3
from> enum>import> Enum> class> Season(Enum):> >SPRING>=> 1> >SUMMER>=> 2> >AUTUMN>=> 3> >WINTER>=> 4> for> season>in> (Season):> >print>(season.value,>'-'>,season)> |
>
>
Produksjon:
1 - Season.SPRING 2 - Season.SUMMER 3 - Season.AUTUMN 4 - Season.WINTER>
Oppregninger støtter H asking
I dette eksemplet vil vi vise hvordan brukere kan hashe Enum-klassen som kan brukes i ordbøker eller settene .
hvordan sentrere et bilde på css
Denne koden bruker ' enum'> modul for å definere en oppregningsklasse ' Animal'> med tre medlemmer: hund, katt og løve. Den lager deretter en ordbokdi>og tildeler verdier til den basert på enum-medlemmer. Til slutt sjekker den om ordboken samsvarer med et spesifikt nøkkelverdi-par.
Python3
import> enum> class> Animal(enum.Enum):> >dog>=> 1> >cat>=> 2> >lion>=> 3> di>=> {}> di[Animal.dog]>=> 'bark'> di[Animal.lion]>=> 'roar'> if> di>=>=> {Animal.dog:>'bark'>, Animal.lion:>'roar'>}:> >print>(>'Enum is hashed'>)> else>:> >print>(>'Enum is not hashed'>)> |
rdbms normalisering
>
>
Produksjon:
Enum is hashed>
Sammenlign Enums i Python
Oppregninger støtter to typer sammenligninger, som er:
- Identitet :- Disse kontrolleres ved hjelp av nøkkelord er og er ikke .
- Likestilling :- Likestillingssammenlikninger av == og != typer støttes også.
Denne koden definerer en oppregningsklasseAnimal>brukerenum>modul med tre medlemmer: hund, katt og løve. Den utfører deretter sammenligninger mellom enum-medlemmer for å sjekke for likhet og ulikhet.
Python3
import> enum> class> Animal(enum.Enum):> >dog>=> 1> >cat>=> 2> >lion>=> 3> if> Animal.dog>is> Animal.cat:> >print>(>'Dog and cat are same animals'>)> else>:> >print>(>'Dog and cat are different animals'>)> if> Animal.lion !>=> Animal.cat:> >print>(>'Lions and cat are different'>)> else>:> >print>(>'Lions and cat are same'>)> |
>
>
Produksjon:
Dog and cat are different animals Lions and cat are different>