logo

enumerare în Python

Enumerările în Python sunt implementate folosind modulul numit „ enumerare '. Enumerările sunt create folosind clasele . Enumurile au nume si valori asociate acestora. Să acoperim diferitele concepte de Piton Enum în acest articol.

Ce sunt Enum-urile și de ce sunt utile?

Enumerări sau Enumări este un set de nume simbolice legate de valori unice. Poate fi repetat pentru a-și returna membrii canonici în ordinea definiției. Oferă o modalitate de a crea cod mai lizibil și mai documentat prin utilizarea numelor semnificative în loc de valori arbitrare.

Proprietățile Enum

  • Enumerările pot fi afișate ca şir sau repr.
  • Enumerările pot fi verificate pentru tipurile lor folosind tip() .
  • ' nume cuvântul cheie este folosit pentru a afișa numele membrului enumerare.

Care sunt avantajele Enum

Unele dintre avantajele utilizării enumărilor includ:

  • Ușurință de întreținere: Enumerările centralizează definirea valorilor numelor, ceea ce face mai ușoară actualizarea sau extinderea setului de valori conform cerințelor noastre.
  • Lizibilitate și auto-documentare: Enumerările oferă nume semnificative valorilor, făcând codul mai ușor de citit și mai explicit.
  • Tip siguranță : Enumerările oferă un anumit nivel de siguranță de tip, asigurând că pot fi utilizate numai valori valide.
  • Risc redus de erori : Enumerările ajută la prevenirea utilizării valorilor incorecte sau inconsecvente în codul dvs., reducând riscul de erori și erori.

Clasa Enum în Python

Cod Python pentru a demonstra enumerarea 



Acest cod definește o clasă de enumerareSeasoncu patru membri: PRIMAVARA VARA TOAMNA si IARNA. Prezintă proprietățile cheie ale enumerației, cum ar fi accesarea numelui și valorii unui membru al enumerației. În plus, demonstrează cum să obțineți o listă a tuturor membrilor enumerați. Ieșirea reflectă tipul valorii numelui și o listă cu toateSeasonenum membri.

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

Ieșire: 

Season.SPRING  
SPRING
1


[ ]

Accesarea modurilor  

Membrii Enum pot fi accesați în două moduri:

ce este oul de Paște al lui Android
  • După valoare :- În această metodă este transmisă valoarea enum member.
  • După nume :- În această metodă este trecut numele membrului enumerare.

O valoare sau un nume separat poate fi accesat și folosind butonul „ nume ' sau ' valoare ' cheie cheie.

Codul definește o clasă de enumerare ' Season' cu patru membri. Acesta arată cum să accesați membrii enumerați după valoare și nume. Acesta demonstrează că puteți obține un membru de enumerare specificând valoarea sau numele acestuia și apoi accesați numele sau valoarea acestuia în consecință. Acest cod oferă exemple pentru accesul membrilor enumerați atât pe bază de valoare, cât și pe bază de nume.

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

Ieșire: 

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

Enumerările sunt iterabil . Ele pot fi iterate folosind bucle

În acest exemplu vom folosi pentru buclă pentru a tipări toți membrii clasei Enum.

Codul definește o clasă de enumerare ' Season' cu patru membri. Iterează prin membrii enumerarii și imprimă valorile și numele acestora. Ieșirea afișează valoarea fiecărui membru de enumerare și numele complet calificat, oferind o modalitate de a lucra cu și de a afișa valorile de enumerare.

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

Ieșire: 

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

Enumerările acceptă H cenușă

În acest exemplu, vom arăta cum utilizatorii pot hash clasa Enum în care poate fi utilizată dicționare sau seturi .

Acest cod folosește ' enum' modul pentru a defini o clasă de enumerare ' Animal' cu trei membri: câine, pisică și leu. Apoi creează un dicționardiși îi atribuie valori pe baza membrilor enumerați. În cele din urmă, verifică dacă dicționarul se potrivește cu o anumită pereche cheie-valoare.

sortare cu găleată
Python
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') 

Ieșire:

Enum is hashed  

Comparați Enums în Python

Enumerările acceptă două tipuri de comparații care sunt:

  • Identitate :- Acestea sunt verificate folosind cuvinte cheie ' este ' și ' nu este '.
  • Egalitatea :- Comparații de egalitate pentru ' == ' și ' != ' sunt de asemenea acceptate.

Acest cod definește o clasă de enumerareAnimalfolosindenummodul cu trei membri: câine, pisică și leu. Apoi efectuează comparații între membrii enumerați pentru a verifica egalitatea și inegalitatea.

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

Ieșire: 

Dog and cat are different animals  
Lions and cat are different