Conversión de cadena de Python a enumeración

Convertir String a Enum en Python mejora la legibilidad del código porque Enum proporciona una forma coherente de especificar un conjunto de valores relacionados. Esta conversión también facilita el mantenimiento del código. También ayuda a evitar errores o errores tipográficos. Más específicamente, los valores constantes enumerados se definen en tiempo de compilación pero no se pueden cambiar durante la ejecución. Este blog analiza los siguientes enfoques:

Contenidos

Método 1: Conversión de cadena a Enum en Python usando la función getattr().

en Python»getattr()‘ es una función integrada de Python que recupera el valor de un atributo de objeto. Esta función acepta dos argumentos. El primer argumento representa el objeto seleccionado y el segundo se refiere al atributo cuyo valor desea obtener. Más específicamente, esta función también puede convertir una cadena en una enumeración.

sintaxis

getattr(Objeto, attr_name) Aquí está el «getattr()«La función recupera el valor del atributo especificado»nombre_atributo«el respectivo»objeto“.

Ejemplo

Ahora veamos el método para convertir una cadena en una enumeración usando el «getattr()» Función. Para hacer esto, primero importe el «Contar” módulo de la clase Enum: luego defina una clase Enum llamada “fruta‘, agregue las constantes de enumeración y proporcione los valores enteros correspondientes: class Fruit(Enum): Apple = 3 Mango = 6 Orange = 9 Cree una cadena y almacene el nombre de la constante de enumeración en ella: Call «getattr()«Funciona y pasa el»fruta” Objeto Enum y el nombre de atributo recién creado: fruit_enum = getattr(Fruit, fruit_str) Envía el valor resultante a la consola: Desde el resultado puedes ver que el “fruta.manzana” es una constante enumerada:

Sin embargo, un «Error de atributoSe lanza una excepción si el nombre del atributo no se pasa legítimamente como un valor constante de enumeración:


Para manejar la excepción mencionada, agregue el bloque try-except como este: try: fruit_enum = getattr(Fruit, fruit_str) print(fruit_enum)except AttributeError: print(f’Error: {fruit_str} is not in the list ‘) Agregue el bloque de código con «intentar‘, que debe ejecutarse cuando se encuentra la constante de enumeración. De lo contrario, proporcione las instrucciones apropiadas en el «excepto«bloques:

Método 2: conversión de cadena a enumeración en Python con el atributo «__members__».

La clase Enum Python proporciona un atributo llamado «__miembros__‘ que se crea automáticamente. Este atributo es más como un diccionario que asigna el elemento enumerado a los valores apropiados.

sintaxis

Objeto.__Miembros__[attr_name]
Aquí el «__miembros__ «El atributo obtiene el valor del atributo especificado»nombre_atributo” de la enumeración especificada “objeto“.

Ejemplo

Hacia «__miembros__” para una conversión de cadena a enumeración, primero cree una cadena cuyo valor sea el mismo que la constante de enumeración requerida: luego especifique el siguiente código en el bloque try-except de su código: pruebe: fruit_enum = Fruit .__members__[fruit_str] print(fruit_enum)except AttributeError: print(f’Error: {fruit_str} no está en la lista’) La primera instrucción añadida en el bloque try intenta acceder a «fruit_str” Miembro de la clase Fruit Enum con el “__miembros__» atributo. Si la cadena especificada coincide con una de las constantes de enumeración, se devuelve el valor correspondiente. En el otro caso, sin embargo, «exceptoEl bloque ” muestra el mensaje definido:

Método 3: conversión de cadena a enumeración en Python utilizando el método de clase Enum

La clase Enum también proporciona un método para convertir una cadena a Enum en Python. Para usarlo, mira la sintaxis dada.

sintaxis

número..

Ejemplo

Especifique el valor constante de Enum requerido en una cadena: luego pase la cadena creada usando el método de clase Enum Fruit() e imprima el resultado en la consola: intente: fruit_enum = Fruit(fruit_str) print(fruit_enum)except AttributeError: print(f ‘ Error: {fruit_str} no está en la lista’)

Se puede observar que se ha recuperado el nombre del miembro enumerado.

Diploma

Para convertir la cadena a enumeración en Python, el «getattr()«Función»,__miembros__Se puede utilizar el atributo ” o el método de clase Enum. Todos estos enfoques recuperan la constante de enumeración de la clase dada. Además, el intento de excepción en combinación con los enfoques mencionados también ayuda a lograr la funcionalidad deseada. Esta publicación cubrió varios métodos para la conversión de cadena a enumeración en Python.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.