Python 3.7 : Exercice : Fonction afficher
Voici un petit exercice de refactoring. Si on regarde notre code actuel, on remarque qu'on répète plusieurs fois le même bloc d'affichage du résultat avec le nom et l'âge. C'est typiquement le genre de duplication qu'il faut éliminer en créant une fonction. L'objectif est de créer une fonction afficher() qui prend en paramètres le nom et l'âge, et qui se charge de l'affichage à un seul endroit.
Énoncé et correction
Avant de voir la correction, essayez d'écrire vous-même cette fonction. Mettez la vidéo en pause et faites l'exercice. La solution consiste à définir une fonction prenant deux paramètres, puis à remplacer toutes les occurrences du code dupliqué par un appel à cette fonction :
def afficher(nom, age):
print("Vous appelez " + nom)
print("Vous avez " + str(age) + " ans")
nom_user = input("Quel est ton nom ? ")
age_user = int(input("Quel est ton âge ? "))
afficher(nom_user, age_user)
La fonction afficher centralise désormais le code d'affichage. Si on veut changer le format des messages, on le modifie en un seul endroit. C'est exactement le principe DRY (Don't Repeat Yourself) qui est l'un des piliers du bon développement logiciel. On peut placer la définition de la fonction n'importe où dans le fichier, tant que c'est avant son premier appel.
Les bénéfices de cette refactorisation :
- Code plus lisible et plus court
- Maintenance facilitée (un seul endroit à modifier)
- Fonction réutilisable dans d'autres contextes
- Séparation claire entre saisie et affichage
- Tests unitaires plus faciles à écrire
Cette pratique de la factorisation devient un réflexe avec l'expérience : dès qu'on copie-colle du code, c'est probablement le signe qu'il faut créer une fonction. À très bientôt pour la suite sur les conditions et les variables.