Fonctions — def et return
Pourquoi créer des fonctions ?
Imagine que tu dois calculer la moyenne de 5 élèves, puis de 10 autres. Tu n'as pas envie de réécrire le même calcul deux fois.
Une fonction, c'est un bloc de code réutilisable auquel tu donnes un nom. Tu l'écris une fois, tu l'appelles autant de fois que tu veux.
Créer une fonction avec def
# Définir une fonction
def dire_bonjour():
print("Bonjour tout le monde !")
# Appeler la fonction
dire_bonjour() # Bonjour tout le monde !
dire_bonjour() # Bonjour tout le monde !
Le mot-clé def définit une fonction. Il est suivi du nom de la fonction,
de parenthèses (), et d'un deux-points :.
Le corps de la fonction est indenté.
Fonctions avec paramètres
On peut passer des informations à une fonction via ses paramètres :
def dire_bonjour(prenom):
print(f"Bonjour, {prenom} !")
dire_bonjour("Emma") # Bonjour, Emma !
dire_bonjour("Lucas") # Bonjour, Lucas !
# Plusieurs paramètres
def additionner(a, b):
print(a + b)
additionner(3, 7) # 10
Retourner un résultat avec return
Parfois, tu veux que ta fonction calcule quelque chose et te le rende,
plutôt que de l'afficher directement. C'est le rôle de return.
def calculer_moyenne(notes):
total = sum(notes)
moyenne = total / len(notes)
return moyenne
# On stocke le résultat dans une variable
notes_emma = [14, 16, 12, 18]
ma_moyenne = calculer_moyenne(notes_emma)
print(f"Moyenne : {ma_moyenne}") # Moyenne : 15.0
return arrête la fonction et renvoie la valeur.
Tout code après return dans la même fonction est ignoré.
Une fonction sans return retourne None (rien).
Paramètres avec valeur par défaut
def saluer(prenom, message="Bienvenue"):
print(f"{message}, {prenom} !")
saluer("Marie") # Bienvenue, Marie !
saluer("Pierre", "Bonjour") # Bonjour, Pierre !
Pourquoi c'est important ?
Les fonctions, c'est le cœur de la programmation bien organisée. Un bon programme, c'est une collection de petites fonctions claires, chacune faisant une seule chose.
Tu peux lire chaque fonction indépendamment et comprendre ce qu'elle fait. Si quelque chose ne marche pas, tu sais où chercher.
# Exemple : mini-calculatrice
def additionner(a, b):
return a + b
def multiplier(a, b):
return a * b
def afficher_resultat(operation, resultat):
print(f"{operation} = {resultat}")
afficher_resultat("3 + 4", additionner(3, 4)) # 3 + 4 = 7
afficher_resultat("5 × 6", multiplier(5, 6)) # 5 × 6 = 30
def nom_fonction(params):crée une fonction.- Les paramètres sont des variables locales à la fonction.
return valeurrenvoie un résultat et arrête la fonction.- On appelle une fonction avec son nom suivi de parenthèses :
ma_fonction(). - Une fonction bien nommée se comprend sans lire son code.