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.