Instruction switch en Python
-
Implémenter l’instruction
switch
à l’aide du dictionnaire -
Implémentez l’instruction
switch
en utilisant les instructionsif...elif...else
ouif ... else
Ce tutoriel montrera différentes méthodes pour implémenter la fonctionnalité d’instruction switch
en Python. Dans de nombreux langages de programmation, l’instruction switch
est utilisée pour contrôler le flux du programme ou, en d’autres termes, quels blocs de code exécuter en fonction de la valeur de la variable ou de l’expression.
Contrairement aux langages de programmation tels que C, C++, C# et JAVA, le langage Python ne fournit pas l’instruction switch. Mais nous pouvons utiliser les méthodes suivantes à la place de l’instruction switch en Python.
Implémenter l’instruction switch
à l’aide du dictionnaire
Le type de données dictionnaire en Python est utilisé pour stocker la collection de données sous forme de paires key:value
. Il s’agit d’un type de données modifiable ou mutable et n’autorise pas les valeurs en double.
Comme dans l’instruction switch, nous décidons quel code exécuter en fonction de la valeur de la variable. On peut utiliser les paires key:value
du dictionnaire, où la key
sera la valeur de la variable, et la value
sera le nom de la fonction. Nous pouvons exécuter la fonction correspondante en fonction de la valeur key
.
Supposons que nous ayons une variable x
dont la valeur décide de l’exécution du code, nous pouvons enregistrer la paire key:value
dans le dictionnaire comme 0:function1
, 1:function2
, etc., où 0
et 1
est la valeur du dictionnaire. Pour éviter que le code ne génère une erreur, nous pouvons utiliser la méthode dict.get(key, default)
et passer la valeur default
pour le nom de la fonction, si une valeur inconnue de x
est fournie.
L’exemple de code ci-dessous montre comment utiliser le type de données dictionnaire pour implémenter la fonctionnalité d’instruction switch
en Python:
def function1():
print("function 1 was executed")
def function2():
print("function 2 was executed")
def function3():
print("function 3 was executed")
switch = {1: function1, 2: function2, 3: function3}
x = 1
switch.get(x, function1)()
x = 2
switch.get(x, function1)()
Production:
function 1 was executed
function 2 was executed
Dans le cas où nous voulons effectuer des actions sur la valeur d’une autre variable a
en fonction de la valeur de la variable x
, nous pouvons le faire comme indiqué dans l’exemple de code ci-dessous:
switch = {1: lambda a: a + 1, 2: lambda a: a + 2, 3: lambda a: a + 3}
x = 2
a = 10
print(switch[x](a))
x = 1
a = 4
print(switch[x](a))
Production:
12
5
Implémentez l’instruction switch
en utilisant les instructions if...elif...else
ou if ... else
L’instruction if...elif...else
est utilisée si nous devons gérer plus de deux cas, et l’instruction if ... else
est utilisée pour gérer deux possibilités ou cas.
Nous pouvons utiliser if ... else
si nous avons deux codes possibles pour la valeur de x
au lieu de l’instruction switch
. Et nous pouvons utiliser l’instruction if...elif...else
si nous avons plus de deux codes ou fonctions à exécuter pour les multiples valeurs de x
.
L’exemple de code ci-dessous montre comment implémenter la fonctionnalité de l’instruction switch
en utilisant l’instruction if ... else
en Python:
def function1():
print("function 1 was executed")
def function2():
print("function 2 was executed")
x = 3
if x == 1:
function1()
else:
function2()
Production:
function 2 was executed
Nous pouvons implémenter l’instruction switch
en utilisant l’instruction if...elif...else
pour gérer plusieurs cas, comme indiqué dans l’exemple de code ci-dessous:
def function1():
print("function 1 was executed")
def function2():
print("function 2 was executed")
def function3():
print("function 3 was executed")
x = 2
if x == 1:
function1()
elif x == 2:
function2()
elif x == 3:
function3()
Production:
function 2 was executed