Apprenez à coder gratuitement en moins de 30 jours !   📕

Switch Case en Python avec l'instruction match

Article mis à jour le vendredi 17 mars 2023.

Switch Case en Python avec l'instruction match

Comment utiliser le match-case ? Pourquoi le préférer à des ifs ? À quoi cette instruction sert ? Découvrez tout sur le switch-case version Python !

Le match-case sont arrivés avec la version 3.10 de Python et PEP 634. C’est l’équivalent du switch-case des autres langages de programmation. Cette instruction de “Filtrage par motif structurel” permet de vérifier qu’une variable correspond à une des valeurs définies.

match-case se présente comme ça en Python :

match valeur:
  case pattern_1:
    expression_1
  case pattern_2:
    expression_2
  case pattern_3:
    expression_3
  case _:
    expression_par_defaut

Avant Python 3.10, on était obligé d’avoir des conditions if pour tester si le contenu d’une variable matchait un pattern.

def switch(jour):
  if jour == 1:
    return 'Lundi'
  elif jour == 2:
    return 'Mardi'
  elif jour == 3:
    return 'Mercredi'
  elif jour == 4:
    return 'Jeudi'
  elif jour == 5:
    return 'Vendredi'
  elif jour == 6:
    return 'Samedi'
  elif jour == 7:
    return 'Dimanche'
  else:
    return 'Pas un jour de la semaine'

Maintenant avec l’instruction match, on peut éviter les instruction if-elif-else pour avoir un code plus lisible.

match jour:
  case 1:
    return 'Lundi'
  case 2:
    return 'Mardi'
  case 3:
    return 'Mercredi'
  case 4:
    return 'Jeudi'
  case 5:
    return 'Vendredi'
  case 6:
    return 'Samedi'
  case 7:
    return 'Dimanche'
  case _:
    return 'Pas un jour de la semaine'

Comment implémenter un switch-case en Python ?

Si vous utilisez une version antérieure à Python 3.10, il peut être utile de créer sa propre instruction switch/match case. On peut faire ça en créant une fonction qui prend un paramètre et le test contre différents patterns.

def switch(valeur):
  if valeur == pattern_1:
    expression_1
  elif valeur == pattern_2:
    expression_2
  elif valeur == pattern_3:
    expression_3
  else:
    expression_par_defaut
  • def est le mot clé qui permet de créer une fonction en python
  • switch est le nom de la fonction
  • valeur est le paramètre de la fonction
  • if, elif et else sont des mots clés de condition
  • pattern_x sont les valeurs avec lesquelles on compare notre variable valeur
  • expression_x est le code qui sera exécuté ou retourné si la comparaison est vraie
  • expression_par_defaut est ce qui sera exécuté si valeur ne correspondait à aucun pattern
APPRENEZ GRATUITEMENT À CODER EN MOINS DE 30 JOURS !
Vous voulez apprendre la programmation ?
Recevez mon ebook GRATUIT : "9 astuces pour apprendre à coder".
Découvrez si le code est fait pour vous !
Comment Coder

Je m'appelle Thomas. J'ai commencé à coder dans mon enfance. Depuis ma sortie de la première promo de l'École 42, j'ai développé des centaines d'applications et sites web. Sur ce blog, je vous donne les meilleurs conseils et astuces pour apprendre comment apprendre à coder efficacement.