Instruction switch en Python

Muhammad Waiz Khan 30 janvier 2023
  1. Implémenter l’instruction switch à l’aide du dictionnaire
  2. Implémentez l’instruction switch en utilisant les instructions if...elif...else ou if ... else
Instruction switch en Python

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

Article connexe - Python Keyword