logo

enumeració en Python

Les enumeracions en Python s'implementen utilitzant el mòdul anomenat enumeració . Les enumeracions es creen utilitzant classes . Els enumeradors tenen noms i valors associats a ells. Cobrim els diferents conceptes de Python Enum en aquest article.

Què són les enumeracions i per què són útils?

Les enumeracions o enumeracions són un conjunt de noms simbòlics lligats a valors únics. Es pot repetir per tornar els seus membres canònics en ordre de definició. Proporciona una manera de crear un codi més llegible i autodocumentat mitjançant l'ús de noms significatius en lloc de valors arbitraris.

Propietats de Enum

  • Les enumeracions es poden mostrar com a corda o repr.
  • Les enumeracions es poden comprovar per als seus tipus utilitzant tipus () .
  • El nom La paraula clau s'utilitza per mostrar el nom del membre enumerat.

Quins són els avantatges d'Enum

Alguns dels avantatges d'utilitzar enumeracions inclouen:



  • Facilitat de manteniment: Les enumeracions centralitzen la definició dels valors del nom, cosa que facilita l'actualització o l'ampliació del conjunt de valors segons els nostres requisits.
  • Llegibilitat i autodocumentació: Les enumeracions proporcionen noms significatius als valors, fent que el codi sigui més llegible per l'home i s'explica per si mateix.
  • Tipus de seguretat : Les enumeracions proporcionen un cert nivell de seguretat de tipus, assegurant que només es poden utilitzar valors vàlids.
  • Risc reduït d'errors : Les enumeracions ajuden a prevenir l'ús de valors incorrectes o inconsistents al vostre codi, reduint el risc d'errors i errors.

Classe enumeració en Python

Codi Python per demostrar enumeracions

Aquest codi defineix una classe d'enumeracióSeason>amb quatre membres: PRIMAVERA, ESTIU, TARDOR i HIVERN. Mostra les propietats clau de l'enum, com ara accedir a un membre d'enum, el seu nom i el seu valor. A més, mostra com obtenir una llista de tots els membres d'enum. La sortida reflecteix el nom, el valor, el tipus i una llista de totsSeason>enumeració de membres.

Python 3




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

>

>

Sortida:

Season.SPRING SPRING 1   [, , , ]>

Modes d'accés

Es pot accedir als membres d'enum de dues maneres:

  • Per valor :- En aquest mètode, es passa el valor del membre enum.
  • Per nom :- En aquest mètode, es passa el nom del membre enum.

També es pot accedir a un valor o nom separat mitjançant l' nom o valor paraula clau.

El codi defineix una classe d'enumeració Season'> amb quatre membres. Mostra com accedir als membres de la enumeració per valor i nom. Demostra que podeu obtenir un membre d'enumeració especificant el seu valor o nom, i després accedir al seu nom o valor en conseqüència. Aquest codi proporciona exemples d'accés de membres d'enumeració basat en valors i en noms.

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

>

>

Sortida:

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

Les enumeracions són iterable . Es poden repetir mitjançant bucles

En aquest exemple, farem servir per bucle per imprimir tots els membres de la classe Enum.

El codi defineix una classe d'enumeració Season'> amb quatre membres. Itera pels membres enumerats i imprimeix els seus valors i noms. La sortida mostra el valor de cada membre d'enum i el seu nom complet, proporcionant una manera de treballar i mostrar els valors d'enum.

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

>

>

Sortida:

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

Enumeracions suporten H cendra

En aquest exemple, mostrarem com els usuaris poden utilitzar el hash de la classe Enum que es pot utilitzar diccionaris o col · leccions .

Aquest codi utilitza el enum'> mòdul per definir una classe d'enumeració Animal'> amb tres membres: gos, gat i lleó. Després crea un diccionaridi>i li assigna valors en funció dels membres enumerats. Finalment, comprova si el diccionari coincideix amb un parell clau-valor específic.

Python 3


com convertir un nombre enter en una cadena en java



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

>

>

Sortida:

Enum is hashed>

Compara enumeracions a Python

Les enumeracions admeten dos tipus de comparacions, que són:

  • Identitat :- Es comprova mitjançant paraules clau és i no és .
  • Igualtat :- Comparacions d'igualtat de == i != també s'admeten tipus.

Aquest codi defineix una classe d'enumeracióAnimal>utilitzant elenum>mòdul amb tres membres: gos, gat i lleó. A continuació, realitza comparacions entre membres enumerats per comprovar la igualtat i la desigualtat.

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

>

>

Sortida:

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