Acerca de Python Enums
Como se indicó anteriormente, los enums son objetos que tienen valores constantes. Tienen nombres simbólicos o representativos adjuntos a sus respectivos valores. Son de manera similar a otras variables de Python, pero vienen con algunas características únicas como objetos y agrupaciones de tipo tipo. En Python, los enums siempre se representan utilizando caracteres de mayúsculas para indicar que tienen valores constantes. Los enums son especialmente útiles en los casos en que tiene un rango predefinido de valores posibles y debe elegir y consultar opciones limitadas en la lógica de su programa. El uso de enumeros en Python se puede entender mejor a través de ejemplos. Algunos de ellos se explican a continuación.
Creando enumeros
Puede crear enums construyendo una nueva clase que herede la clase enumera misma. Eche un vistazo a la muestra de código a continuación:
de enum import enumLa primera declaración importa la clase Enum desde el módulo enum. A continuación, una nueva clase llamada "Color" se construye heredando la clase enum. Se crean algunas variables (miembros de enum) con valores constantes. Estas variables representan cinco opciones posibles. Las siguientes declaraciones de impresión muestran cómo puede acceder a estos enumines, sus nombres y valores. Estas declaraciones se explican por sí mismas. Para acceder a una posible opción de enum, puede usar la notación de puntos o suministrar un valor conocido como argumento a la clase. Después de ejecutar la muestra de código anterior, debe obtener la siguiente salida:
Color.AMARILLOComo puede ver en la salida, hay una variedad de formas en que puede acceder a los miembros de ENUM. Tenga en cuenta que llamar a la función de impresión en un enum devolverá su formulario de cadena legible por humanos y no su valor. Entonces referirme al color.El amarillo volverá el color.Amarillo y no 1.
Iterando a través de Enums
Puede iterar a través de un objeto de tipo enum y obtener sus miembros utilizando declaraciones de bucle.
de enum import enumUsando la variable "C", puede acceder a cada miembro del objeto Color Enum Tipo. Después de ejecutar la muestra de código anterior, debe obtener la siguiente salida.
Amarillo 1El nombre de los miembros de ENUM debe ser único, pero se permiten valores duplicados
No puede crear dos miembros de ENUM con el mismo nombre, pero sus valores no tienen tales restricciones. La siguiente muestra de código lanzará un error, ya que hay dos miembros de ENUM con los mismos nombres.
de enum import enumDespués de ejecutar la muestra de código anterior, debe recibir un error similar a este:
Archivo "/usr/lib/python3.9/enum.py ", línea 133, en __setItem__Como puede ver en la salida, los nombres duplicados no están permitidos para los miembros de ENUM. Sin embargo, el siguiente código es válido donde dos miembros de ENUM tienen los mismos valores.
de enum import enumSi también desea forzar valores únicos para los miembros de ENUM junto con sus nombres, puede usar el decorador "único" para evitar valores duplicados.
de enum import enum, únicoEl decorador "@unique" obliga a los objetos de tipo enum para lanzar un error cuando hay valores duplicados asignados a los miembros de Enum. Después de ejecutar la muestra de código anterior, debe obtener la siguiente salida:
Archivo "/usr/lib/python3.9/enum.py ", línea 989, en un únicoAuto asignar valores a los miembros de ENUM
Si los valores de los miembros de ENUM no le importan, puede usar el método "Auto" disponible en el módulo ENUM para asignar automáticamente números secuenciales a los miembros de ENUM.
de Enum import enum, autoComo puede ver en la muestra de código aboved, en lugar de asignar explícitamente algunos valores a los miembros de ENUM, se ha llamado a la función automática al crear cada miembro. El método automático siempre asigna 1 como el primer valor. Después de ejecutar la muestra de código anterior, debe obtener la siguiente salida:
Amarillo 1Conclusión
Los objetos de tipo enums en Python le permiten crear variables de estilo constantes que tengan nombres únicos. Estas variables, generalmente llamadas miembros de ENUM, pueden estar representadas por cadenas legibles por humanos. Los enums son especialmente útiles cuando desea elegir una o más opciones de un grupo de opciones limitadas.