Structuration du code

Les fonctions sont des outils puissants pour structurer votre code. Elles vous permettent de réutiliser du code, de le rendre plus lisible et de le rendre plus facile à maintenir.

Nous venons de voir comment définir une fonction, comment lui passer des arguments et comment elle peut retourner une valeur. Outre cela, les fonctions servent aussi à structurer votre code et à la rendre plus facile à lire.

Imaginons par exemple que vous souhaitez réaliser un jeu de puissance 4. Vous pouvez définir une fonction pour afficher le plateau de jeu, une autre pour vérifier si un joueur a gagné, une autre pour demander à un joueur de jouer, etc. Le programme principal sera alors très lisible et facile à comprendre. Il ressemblera à ceci :

plateau = intialiser_plateau()
joueur = 1;
while True:
     afficher_plateau(plateau)
     colonne = demander_joueur(joueur)
     placer_jeton(joueur, colonne, plateau)
     if a_gagne(joueur, plateau):
          print("Le joueur", joueur, "a gagné !")
          break
     else :
          joueur = joueur % 2 + 1

Vous voyez que le programme principal est très lisible. Chaque fonction a un rôle bien défini et le programme principal est facile à comprendre. Il faudra que les fonctions annexes soient explicitées en amont.

Les fonctions du programme principal peuvent elles-mêmes être décomposées en fonctions plus petites. Par exemple, la fonction a_gagne pourrait être décomposée en plusieurs fonctions plus petites pour vérifier si un joueur a gagné en ligne, en colonne ou en diagonale.

def a_gagne(joueur,plateau):
     if victoire_ligne(joueur, plateau):
          return True
     if victoire_colonne(joueur, plateau):
          return True
     if victoire_diagonale(joueur, plateau):
          return True
     return False
À retenir

Les fonctions sont des outils puissants pour structurer votre code. En décomposant votre code en fonctions élémentaires, vous le rendez plus lisible et plus facile à maintenir.