enumeración en Python

Las enumeraciones en Python se implementan mediante el uso del módulo llamado » enum «. Las enumeraciones se crean mediante clases . Las enumeraciones tienen nombres y valores asociados con ellas.
Propiedades de enumeración:
1. Las enumeraciones se pueden mostrar como string o repr .
2. Las enumeraciones se pueden verificar por sus tipos usando type() .
3. La palabra clave » nombre » se utiliza para mostrar el nombre del miembro de enumeración.
 

Python3

# Python code to demonstrate enumerations
 
# importing enum for enumerations
import enum
 
# creating enumerations using class
class Animal(enum.Enum):
    dog = 1
    cat = 2
    lion = 3
 
# printing enum member as string
print ("The string representation of enum member is : ",end="")
print (Animal.dog)
 
# printing enum member as repr
print ("The repr representation of enum member is : ",end="")
print (repr(Animal.dog))
 
# printing the type of enum member using type()
print ("The type of enum member is : ",end ="")
print (type(Animal.dog))
 
# printing name of enum member using "name" keyword
print ("The name of enum member is : ",end ="")
print (Animal.dog.name)

Producción : 
 

The string representation of enum member is : Animal.dog
The repr representation of enum member is : <Animal.dog: 1>
The type of enum member is : <enum 'Animal'>
The name of enum member is : dog

4. Las enumeraciones son iterables . Se pueden iterar mediante bucles
5. Las enumeraciones admiten hashing . Las enumeraciones se pueden usar en diccionarios o conjuntos .
 

Python3

# Python code to demonstrate enumerations
# iterations and hashing
# importing enum for enumerations
import enum
 
# creating enumerations using class
class Animal(enum.Enum):
    dog = 1
    cat = 2
    lion = 3
 
# printing all enum members using loop
print ("All the enum values are : ")
for Anim in (Animal):
    print(Anim)
 
# Hashing enum member as dictionary
di = {}
di[Animal.dog] = 'bark'
di[Animal.lion] = 'roar'
 
# checking if enum values are hashed successfully
if di=={Animal.dog : 'bark',Animal.lion : 'roar'}:
      print ("Enum is hashed")
else: print ("Enum is not hashed")

Producción : 
 

All the enum values are : 
Animal.dog
Animal.cat
Animal.lion
Enum is hashed

Modos de acceso: se puede acceder a los miembros de la enumeración de dos maneras
1. Por valor : – En este método, se pasa el valor del miembro de la enumeración.
2. Por nombre : en este método, se pasa el nombre del miembro de la enumeración.
También se puede acceder a un valor o nombre separado usando la palabra clave » nombre » o » valor «.
Comparación: las enumeraciones admiten dos tipos de comparaciones
1. Identidad : se verifican utilizando las palabras clave » es » y » no es «.
2. Igualdad : también se admiten las comparaciones de igualdad de los tipos » == » y » != «.
 

Python3

# Python code to demonstrate enumerations
# Access and comparison
 
# importing enum for enumerations
import enum
 
# creating enumerations using class
class Animal(enum.Enum):
    dog = 1
    cat = 2
    lion = 3
 
# Accessing enum member using value
print ("The enum member associated with value 2 is : ",end="")
print (Animal(2))
 
# Accessing enum member using name 
print ("The enum member associated with name lion is : ",end="")
print (Animal['lion'])
 
# Assigning enum member
mem = Animal.dog
 
# Displaying value
print ("The value associated with dog is : ",end="")
print (mem.value)
 
# Displaying name 
print ("The name associated with dog is : ",end="")
print (mem.name)
 
# Comparison using "is"
if Animal.dog is Animal.cat:
       print ("Dog and cat are same animals")
else : print ("Dog and cat are different animals")
 
# Comparison using "!="
if Animal.lion != Animal.cat:
       print ("Lions and cat are different")
else : print ("Lions and cat are same")

Producción : 
 

The enum member associated with value 2 is: Animal.cat
The enum member associated with name lion is: Animal.lion
The value associated with dog is: 1
The name associated with dog is: dog
Dog and cat are different animals
Lions and cat are different

Este artículo es una contribución de Manjeet Singh . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *