in

Enum en Python

60 44312 1565945237

Enum es una clase en Python para crear enumeraciones, que son un conjunto de nombres simbólicos (miembros) ligados a valores únicos y constantes. Los miembros de una enumeración pueden compararse mediante estos nombres simbólicos y la enumeración en sí puede repetirse. Una enumeración tiene las siguientes características.

  • Las enumeraciones son representaciones de cadena evaluables de un objeto también llamado repr ().

  • El nombre de la enumeración se muestra usando la palabra clave ‘nombre’.

  • Usando type () podemos verificar los tipos de enumeración.

Ejemplo

import enum
# Using enum class create enumerations
class Days(enum.Enum):
   Sun = 1
   Mon = 2
   Tue = 3
# print the enum member as a string
print ("The enum member as a string is : ",end="")
print (Days.Mon)

# print the enum member as a repr
print ("he enum member as a repr is : ",end="")
print (repr(Days.Sun))

# Check type of enum member
print ("The type of enum member is : ",end ="")
print (type(Days.Mon))

# print name of enum member
print ("The name of enum member is : ",end ="")
print (Days.Tue.name)

Producción

Ejecutar el código anterior nos da el siguiente resultado:

The enum member as a string is : Days.Mon
he enum member as a repr is :
The type of enum member is :
The name of enum member is : Tue

Impresión de enumeración como iterable

Podemos imprimir la enumeración como una lista iterable. En el siguiente código usamos un bucle for para imprimir todos los miembros de enumeración.

Ejemplo

import enum
# Using enum class create enumerations
class Days(enum.Enum):
   Sun = 1
   Mon = 2
   Tue = 3
# printing all enum members using loop
print ("The enum members are : ")
for weekday in (Days):
   print(weekday)

Producción

Ejecutar el código anterior nos da el siguiente resultado:

The enum members are :
Days.Sun
Days.Mon
Days.Tue

Hashing enums

Los miembros de una enumeración son hash, por lo que se pueden usar en diccionarios y conjuntos. en el siguiente ejemplo, vemos el hash en acción y verificamos si el hash es exitoso.

Ejemplo

import enum
# Using enum class create enumerations
class Days(enum.Enum):
   Sun = 1
   Mon = 2
# Hashing to create a dictionary
Daytype = {}
Daytype[Days.Sun] = 'Sun God'
Daytype[Days.Mon] = 'Moon God'

# Checkign if the hashing is successful
print(Daytype =={Days.Sun:'Sun God',Days.Mon:'Moon God'})

Producción

Ejecutar el código anterior nos da el siguiente resultado:

True

Accediendo a enumeraciones

Podemos acceder a los miembros de la enumeración utilizando el nombre o el valor de los elementos del miembro. En el siguiente ejemplo, primero accedemos al valor por nombre donde usamos el nombre del enu como índice.

Ejemplo

import enum
# Using enum class create enumerations
class Days(enum.Enum):
   Sun = 1
   Mon = 2
print('enum member accessed by name: ')
print (Days['Mon'])
print('enum member accessed by Value: ')
print (Days(1))

Producción

Ejecutar el código anterior nos da el siguiente resultado:

enum member accessed by name:
Days.Mon
enum member accessed by Value:
Days.Sun

Comparando las enumeraciones

Comparar las enumeraciones es un proceso directo, usamos el operador de comparación.

Ejemplo

import enum
# Using enum class create enumerations
class Days(enum.Enum):
   Sun = 1
   Mon = 2
   Tue = 1
if Days.Sun == Days.Tue:
   print('Match')
if Days.Mon != Days.Tue:
   print('No Match')

Producción

Ejecutar el código anterior nos da el siguiente resultado:

Match
No Match

raja

Publicado el 07-ago-2019 08:35:53

Deja una respuesta

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

Lista de los mejores emuladores de la Sega Dreamcast para jugar en MacOS 1

¿Cuáles son los mejores emuladores de Sega Dreamcast para Mac? Lista 2020

apple touch icon@2

¿Cómo negar una palabra específica en expresiones regulares?