Python String to Enum Conversion

Python String to Enum Conversion

La conversion de la chaîne en énumération dans Python améliore la lisibilité du code car Enum offre un moyen cohérent de spécifier un ensemble de valeurs connexes. Cette conversion rend également le code plus facile à maintenir. Il aide également à éviter les erreurs ou les fautes de frappe. Plus précisément, les valeurs constantes énumérées sont définies au moment de la compilation mais ne peuvent pas être modifiées pendant l'exécution.

Ce blog discutera des approches suivantes:

  • Méthode 1: Conversion de chaîne à énumérer dans Python à l'aide de la fonction «getAtTr ()»
  • Méthode 2: Conversion de chaîne à énumérer dans Python en utilisant l'attribut «__Members__»
  • Méthode 3: Conversion de chaîne à énumérer en python en utilisant la méthode de la classe Enum

Méthode 1: Conversion de chaîne à énumérer dans Python à l'aide de la fonction «getAtTr ()»

Dans Python, "getAttr ()"Est une fonction Python intégrée qui obtient la valeur d'un attribut d'objet. Cette fonction accepte deux arguments. Le premier argument représente l'objet sélectionné, et le second fait référence à l'attribut dont vous souhaitez obtenir la valeur. Plus précisément, cette fonction peut également convertir une chaîne en énumération.

Syntaxe

getAttr (objet, att_name)

Ici le "getAttr ()"La fonction récupère la valeur de l'attribut spécifié"att_name"Du pertinent"Objet".

Exemple

Maintenant, vérifions la méthode de conversion d'une chaîne en énumération à l'aide du «getAttr ()" fonction. Pour ce faire, importez d'abord le «énumérer”Module de la classe Enum:

à partir de l'énumération de l'énumération

Ensuite, définissez une classe d'énumération nommée «Fruit», Ajoutez les constantes énumérées et spécifiez les valeurs entières correspondantes:

Fruit de classe (enum):
Apple = 3
Mangue = 6
Orange = 9

Créez une chaîne et stockez le nom constant énuméré dedans:

fruit_str = 'pomme'

Invoque le «getAttr ()«Fonctionne et passe le«Fruit”Enum Object et le nouvellement créé comme nom d'attribut:

fruit_enum = getAttr (fruit, fruit_str)

Imprimez la valeur résultante sur la console:

imprimer (fruit_enum)

Il peut être observé à partir de la sortie que le «Fruit.Pomme«Est une constante énumérée:

Cependant, un «AttributError«L'exception sera déclenchée en cas de passage du nom d'attribut qui n'est pas justifié comme valeur constante d'énumération:

fruit_str = 'peach'

Pour gérer l'exception mentionnée, ajoutez le bloc d'essai à l'exception comme suit:

essayer:
fruit_enum = getAttr (fruit, fruit_str)
imprimer (fruit_enum)
sauf attributError:
print (f'error: fruit_str n'est pas dans la liste ')

Ajoutez le bloc de code avec "essayer«Cela doit être exécuté lorsque la constante d'énumération a été trouvée. Pour l'autre cas, spécifiez les déclarations respectives dans le «sauf" bloc:

Méthode 2: Conversion de chaîne à énumérer dans Python en utilisant l'attribut «__Members__»

La classe Enum Python propose un attribut nommé «__membres__"Qui est automatiquement créé. Cet attribut ressemble plus à un dictionnaire qui mappe le membre énuméré aux valeurs correspondantes.

Syntaxe

Objet.__Members __ [att_name]

Ici le "__membres__ "L'attribut obtient la valeur de l'attribut spécifié"att_name"De l'énumération spécifiée"Objet".

Exemple

Pour utiliser le «__membres__”Attribut pour une conversion de chaîne pour énumérer, tout d'abord, créez une chaîne dont la valeur est la même que la constante d'énumération requise:

fruit_str = 'mangue'

Ensuite, spécifiez le code suivant dans le bloc d'essai à l'exception de votre code:

essayer:
fruit_enum = fruit.__Members __ [fruit_str]
imprimer (fruit_enum)
sauf attributError:
print (f'error: fruit_str n'est pas dans la liste ')

La première déclaration ajoutée dans le bloc d'essai essaie d'accéder au «fruit_str»Membre de la classe Fruit Enum avec le«__membres__" attribut. Si la chaîne spécifiée est égalée à l'une des constantes d'énumération, la valeur correspondante sera imprimée. Cependant, dans l'autre cas, le «sauf»Block affiche le message défini:

Méthode 3: Conversion de chaîne à énumérer en python en utilisant la méthode de la classe Enum

Enum Class fournit également une méthode pour convertir une chaîne en énumération en python. Pour l'utiliser, consultez la syntaxe indiquée.

Syntaxe

Énumérer...

Exemple

Spécifiez la valeur constante de l'énumération requise dans une chaîne:

fruit_str = 6

Ensuite, passez la chaîne créée à l'aide de la méthode de la classe Enum fruit () et imprimez la sortie sur la console:

essayer:
fruit_enum = fruit (fruit_str)
imprimer (fruit_enum)
sauf attributError:
print (f'error: fruit_str n'est pas dans la liste ')

On peut observer que le nom de membre énuméré a été récupéré.

Conclusion

Pour convertir la chaîne en énumération dans Python, le «getAttr ()" fonction, "__membres__«L'attribut, ou la méthode de classe d'énumération est utilisée. Toutes ces approches ont récupéré la constante énumérée de la classe spécifiée. De plus, en combinaison avec les approches énoncées, l'essai à l'exception aide également à atteindre la fonctionnalité souhaitée. Ce message a couvert différentes méthodes pour que la chaîne énumére la conversion en python.