© Maria Vonotna/Shutterstock.com

Généralement, la programmation vise à rendre un problème complexe aussi simple que possible. De cette manière, les cas de commutation peuvent être très utiles pour exécuter du code spécifique en fonction de la valeur ou de la variable en question. En Python, il n’y a pas de cas de commutation, nous devons donc utiliser une alternative. Découvrez comment implémenter la casse en Python dès aujourd’hui.

Qu’est-ce que la casse ?

En termes simples, les instructions de casse permettent à votre programme d’exécuter différentes fonctions en fonction de la valeur d’une variable ou déclaration. De cette façon, l’instruction switch case évalue la valeur et compare le résultat avec certaines règles prédéfinies que vous avez mises en place. Dans chaque cas, des actions spécifiques doivent être effectuées si la valeur correspond à la casse du commutateur. Vous pouvez également définir un code par défaut à exécuter si aucun des cas de commutation ne correspond.

Alors que Python n’a pas de casse, de nombreux autres langages de programmation en ont. Ainsi, illustrons le fonctionnement d’un switch case en C :

switch (expression) { case value1 : #code à exécuter if expression=value1 break ; case valeur2 : #code à exécuter si expression=valeur2 break ; case valeur3 : #code à exécuter si expression=valeur3 break ; par défaut : #code à exécuter si l’expression ne correspond à aucun des cas ci-dessus break ;

Relativement simple, non ? Malheureusement, nous devons faire un peu plus de travail pour implémenter cela en Python. Il existe en fait différentes manières d’implémenter une fonction similaire à l’interrupteur de casse, alors allons-y.

Comment implémenter l’interrupteur de casse à l’aide d’instructions If-elif-else

Un consiste à utiliser les instructions”if”et”else”pour exécuter une fonction spécifique basée sur l’entrée. Cela peut en fait être décrit de deux manières. La première méthode ressemble à ceci :

color=’Blue’if color==’Red’: print(‘color is Red’) elif color==’Green’: print(‘color is Green’) elif color==’Yellow’: print(‘color is Yellow’) elif color==’Blue’: print(‘color is Blue’) else: print(‘Color is undetermined’)

L’entrée, ou”couleur”, est testé par rapport à chacune de ces conditions pour voir à laquelle elle correspond. Dans ce cas, la couleur est clairement bleue, donc la sortie attendue est”la couleur est bleue”. Et c’est exactement ce que nous voyons lorsque nous essayons ce code.

L’algorithme de changement de cas implémenté avec les instructions If-elif-else.

©”TNGD”.com

Comment implémenter le changement de cas à l’aide du mappage de dictionnaire

Un dictionnaire est simplement un ensemble non structuré de valeurs de données et comporte des paires clé : valeur. Ceux-ci sont similaires aux en-têtes d’une feuille de calcul, tels que”Nom”,”Taille”et”Poids”. Chaque clé est associée à des valeurs de données. De cette façon, nous pouvons utiliser une sorte de fonction de changement de cas pour renvoyer des valeurs spécifiques à partir d’un dictionnaire. Ceci est illustré ci-dessous:

def switch_case(argument): switcher={“Red”:”RED”,”Blue”:”BLUE”,”Green”:”GREEN”} return switcher.get(argument,”Argument invalide”) if__name__==”__main__”: argument=”Vert”print(switch_case(argument))

Dans cette situation, nous définissons la fonction”switch_case”comme une fonction qui prend l’argument.

Le dictionnaire est défini comme”switcher”, et contient des paires clé:valeur. Les clés représentent les noms de couleurs en majuscules, les valeurs représentent les noms de couleurs en majuscules.

La valeur qui correspond à la clé d’argument est renvoyée du dictionnaire à l’aide de la fonction”get”. Sinon, l’argument”argument invalide”est renvoyé.

Puisque l’argument d’entrée était”Vert”, nous obtenons”VERT”en sortie.

Le”if__name==”__main__ La ligne””signifie simplement que le code n’est exécuté que lors de l’exécution directe du script.

Le mappage de dictionnaire est utilisé pour implémenter la casse de commutation.

©”TNGD”.com

Comment implémenter la casse de commutation à l’aide d’une classe

La dernière façon d’implémenter la casse en Python est d’utiliser une classe. Il s’agit essentiellement d’un modèle pour créer des objets avec des attributs et des méthodes définis. Par exemple, une classe appelée”ID”peut avoir deux attributs,”Height”et”Weight”, et des méthodes pour obtenir ces valeurs, comme”get_height()”et”get_weight()”. Par exemple, nous pouvons définir la classe comme”switchcase”et implémenter le processus comme suit :

class switch_case : def month(self, year): default=”Incorrect month”return getattr(self,’case_’+ str (année), lambda : par défaut)() def case_1(self) : renvoie”2001″def case_2(self) : renvoie”2002″def case_3(self) : renvoie”2003″my_switch=switch_case() print(my_switch.month (1)) print(my_switch.month(3))

Tout d’abord, nous définissons”switch_case”comme une fonction qui implémente le changement de casse.

Suite à cela, la méthode s’appelle”month()”, qui prend le paramètre”année”et appelle la méthode”mois”en utilisant différents arguments,”1″et”3″. Lorsque la méthode est appelée avec l’argument « 1 », elle correspond à la méthode de la classe « case_1() », produisant le résultat « 2001 ». Lorsque l’argument de”3″est appelé, la sortie est la valeur de chaîne”2003″.

Voir la capture d’écran pour savoir comment ce code fonctionne dans la pratique.

Le cas de commutation est implémenté à l’aide d’une classe.

©”TNGD”. com

Récapitulation

Bien que le changement de casse ne soit pas explicitement inclus dans Python, il existe plusieurs façons de recréer ce processus. Dans l’ensemble, cela inclut l’utilisation du mappage de dictionnaire, l’implémentation d’une fonction de classe ou l’utilisation d’instructions if-elif-else. Dans tous les cas, un code spécifique est exécuté en fonction de l’argument donné et des valeurs spécifiques sont renvoyées en fonction des instructions switch.

Comment utiliser Switch Case dans la FAQ Python (Foire aux questions) 

Quels langages de programmation prennent en charge les instructions switch case ?

Il existe de nombreux langages de programmation qui prennent en charge les instructions switch case, tels que C, C++, Java, JavaScript, Ruby, Swift et Python. Cependant, Python n’a pas de fonction explicite de changement de cas, mais la fonction peut être implémentée avec les différentes méthodes décrites ici.

Les instructions de changement de cas sont-elles plus efficaces que les instructions if-else ?

Pas toujours. L’efficacité d’une instruction switch case dépend du nombre de cas ainsi que de la manière dont le code est implémenté. S’il n’y a que quelques valeurs possibles pour une expression donnée, les instructions if-else peuvent être plus efficaces.

Que se passe-t-il si la valeur ne peut correspondre à aucun des cas ?

Un bloc de code par défaut est exécuté si aucun des cas ne correspond à la valeur en question.

Quelles expressions pouvez-vous utiliser dans une instruction switch case ?

Cela dépend du langage de programmation que vous utilisez, mais il est certainement possible d’utiliser des expressions de types autres que des entiers ou des valeurs de chaîne, comme des caractères ou des énumérations.

Pouvez-vous utiliser plusieurs cas pour le même code ?

Dans la plupart des cas, oui. Cela peut être utile lorsque vous souhaitez utiliser le même code pour plusieurs valeurs d’une expression.

By Kaitlynn Clay

Je travaille en tant qu'expert UX. Je m'intéresse à la conception de sites Web et à l'analyse du comportement des utilisateurs. Pendant mes jours de congé, je visite toujours le musée d'art.