logo

enum Pythonissa

Pythonin luettelointi toteutetaan käyttämällä moduulia nimeltä enum . Luettelot luodaan käyttämällä luokat . Enumeissa on nimiä ja arvoja niihin liittyvät. Käydään läpi erilaisia ​​käsitteitä Python Enum tässä artikkelissa.

Mitä enumit ovat ja miksi niistä on hyötyä?

Enumerations tai Enums on joukko symbolisia nimiä, jotka on sidottu yksilöllisiin arvoihin. Se voidaan iteroida uudelleen palauttamaan sen kanoniset jäsenet määritelmäjärjestyksessä. Se tarjoaa tavan luoda luettavampaa ja itsedokumentoivaa koodia käyttämällä mielekkäitä nimiä mielivaltaisten arvojen sijaan.

Enumin ominaisuudet

  • Enummit voidaan näyttää muodossa merkkijono tai repr.
  • Enumien tyypit voidaan tarkistaa käyttämällä tyyppi() .
  • The nimi avainsanaa käytetään enum-jäsenen nimen näyttämiseen.

Mitkä ovat Enumin edut

Joitakin enumien käytön etuja ovat:



  • Huollon helppous: Enumit keskittävät nimiarvojen määrittelyn, mikä helpottaa arvojen päivittämistä tai laajentamista vaatimusten mukaisesti.
  • Luettavuus ja itsedokumentaatio: Enumit antavat arvoille merkityksellisiä nimiä, mikä tekee koodista ihmisen luettavamman ja itsestään selvän.
  • Tyyppiturvallisuus : Enumit tarjoavat jonkin verran tyyppiturvallisuutta varmistaen, että vain kelvollisia arvoja voidaan käyttää.
  • Pienempi virheriski : Enumit auttavat estämään virheellisten tai epäjohdonmukaisten arvojen käytön koodissasi, mikä vähentää virheiden riskiä.

Enum-luokka Pythonissa

Python-koodi luetteloiden osoittamiseen

Tämä koodi määrittää luettelointiluokanSeason>neljällä jäsenellä: KEVÄT, KESÄ, SYKSY ja TALVI. Se esittelee enumin tärkeimmät ominaisuudet, kuten pääsyn enum-jäseneen, sen nimen ja arvon. Lisäksi se osoittaa, kuinka saada luettelo kaikista enumin jäsenistä. Tulos heijastaa nimeä, arvoa, tyyppiä ja luetteloa kaikistaSeason>enum jäseniä.

Python 3




verkkoselaimen asetukset
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))>

>

>

Lähtö:

Season.SPRING SPRING 1   [, , , ]>

Tilojen käyttö

Enumin jäseniä voi käyttää kahdella tavalla:

  • Arvon mukaan :- Tässä menetelmässä enum-jäsenen arvo välitetään.
  • Nimeltä :- Tässä menetelmässä enum-jäsenen nimi välitetään.

Erilliseen arvoon tai nimeen pääsee myös käyttämällä nimi tai arvo avainsana.

Koodi määrittää luettelointiluokan ' Season'> neljällä jäsenellä. Se esittelee kuinka pääset käsiksi enum-jäseniin arvon ja nimen perusteella. Se osoittaa, että voit hankkia enum-jäsenen määrittämällä sen arvon tai nimen ja sitten käyttää sen nimeä tai arvoa vastaavasti. Tämä koodi tarjoaa esimerkkejä sekä arvopohjaisesta että nimipohjaisesta enum-jäsenen pääsystä.

Python 3




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)>

>

>

Lähtö:

The enum member associated with value 2 is : SUMMER The enum member associated with name AUTUMN is : 3>

Luvut ovat toistettavissa . Niitä voidaan iteroida silmukoiden avulla

Tässä esimerkissä käytämme for silmukka tulostaaksesi kaikki Enum-luokan jäsenet.

Koodi määrittää luettelointiluokan ' Season'> neljällä jäsenellä. Se toistuu enum-jäsenten läpi ja tulostaa heidän arvonsa ja nimensä. Tulos näyttää kunkin enum-jäsenen arvon ja sen täydellisen nimen, mikä tarjoaa tavan käsitellä ja näyttää enum-arvoja.

Python 3




from> enum>import> Enum> class> Season(Enum):> >SPRING>=> 1> >SUMMER>=> 2> >AUTUMN>=> 3> >WINTER>=> 4> for> season>in> (Season):> >print>(season.value,>'-'>,season)>

>

>

Lähtö:

1 - Season.SPRING 2 - Season.SUMMER 3 - Season.AUTUMN 4 - Season.WINTER>

Luetteloiden tuki H tuhkahtaa

Tässä esimerkissä näytämme, kuinka käyttäjät voivat hajauttaa Enum-luokan, jota voidaan käyttää sanakirjoja tai sarjat .

Tämä koodi käyttää ' enum'> moduuli määrittääksesi luettelointiluokan ' Animal'> jossa on kolme jäsentä: koira, kissa ja leijona. Sitten se luo sanakirjandi>ja määrittää sille arvot enum-jäsenten perusteella. Lopuksi se tarkistaa, vastaako sanakirja tiettyä avain-arvo-paria.

Python 3




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'>)>

>

>

Lähtö:

Enum is hashed>

Vertaa Enumeja Pythonissa

Luettelot tukevat kahdenlaisia ​​vertailuja, jotka ovat:

  • Identiteetti :- Nämä tarkistetaan avainsanoilla On ja ei ole .
  • Tasa-arvo :- Tasa-arvovertailut == ja != tyyppejä myös tuetaan.

Tämä koodi määrittää luettelointiluokanAnimal>käyttämälläenum>moduuli, jossa on kolme jäsentä: koira, kissa ja leijona. Sitten se suorittaa vertailuja enum-jäsenten välillä tasa-arvon ja eriarvoisuuden tarkistamiseksi.

Python 3




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'>)>

>

>

Lähtö:

Dog and cat are different animals Lions and cat are different>