logo

enum i Python

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>