Écrire et appeler une fonction Python
Ce qu'il faut comprendre
Imagine que tu dois calculer la moyenne de plusieurs séries de notes. Sans fonction, tu réécrirais le même calcul à chaque fois. Avec une fonction, tu écris le calcul une fois, et tu peux le réutiliser quand tu veux, en changeant simplement les valeurs. Une fonction, c'est comme une mini-machine : tu lui donnes des ingrédients (les paramètres), elle fait son travail, et elle te renvoie un résultat. Cela rend ton code plus clair, plus court et plus facile à modifier.
Les notions essentielles
- Fonction : bloc de code qui effectue une tâche précise. On la définit avec
def, puis on l'appelle par son nom. - Paramètre : variable qui reçoit une valeur quand on appelle la fonction. Exemple :
def ma_fonction(x):→xest un paramètre. - Argument : valeur qu'on donne à la fonction lors de l'appel. Exemple :
ma_fonction(5)→5est un argument. - Valeur de retour : résultat renvoyé par la fonction avec
return. Si pas dereturn, la fonction renvoieNone. - Appel de fonction : utiliser le nom de la fonction suivi de parenthèses contenant les arguments.
Syntaxe :
def nom_fonction(parametre1, parametre2):
# bloc d'instructions
return resultat
Exemple simple :
def double(x):
return 2 * x
print(double(3)) # affiche 6
Méthode
- Identifier le but : que doit faire la fonction ? Quel résultat doit-elle renvoyer ?
- Choisir un nom : clair, en minuscules, avec des underscores si besoin (ex :
moyenne_notes). - Définir les paramètres : de quelles informations a-t-elle besoin ?
- Écrire le corps : les instructions pour arriver au résultat.
- Utiliser
returnpour renvoyer le résultat (si nécessaire). - Appeler la fonction avec des arguments concrets pour tester.
Astuce : commence par écrire ce que tu ferais sans fonction, puis mets-le dans un bloc def.
Exemple corrigé
Énoncé : Écris une fonction moyenne qui prend deux nombres en paramètres et renvoie leur moyenne.
Solution :
def moyenne(a, b):
somme = a + b
resultat = somme / 2
return resultat
# Appel de la fonction
m = moyenne(12, 16)
print(m) # affiche 14.0
Explication pas à pas :
def moyenne(a, b):→ on définit la fonction avec deux paramètresaetb.somme = a + b→ on calcule la somme.resultat = somme / 2→ on divise par 2.return resultat→ on renvoie le résultat.m = moyenne(12, 16)→ on appelle la fonction avec les arguments 12 et 16, et on stocke le résultat dansm.print(m)→ affiche 14.0.
Variante avec une boucle :
def somme_liste(liste):
total = 0
for nombre in liste:
total = total + nombre
return total
notes = [12, 16, 14]
print(somme_liste(notes)) # affiche 42
Erreurs fréquentes
- Oublier les parenthèses :
moyenne 12, 16→ erreur. Toujoursmoyenne(12, 16). - Oublier le
return: la fonction fait le calcul mais ne renvoie rien →None. - Confondre paramètre et argument : paramètre = variable dans la définition, argument = valeur lors de l'appel.
- Modifier une variable globale dans une fonction : utilise plutôt les paramètres et
return. - Mettre un
returntrop tôt : les instructions aprèsreturnne sont jamais exécutées.
À retenir
- Une fonction se définit avec
def nom(paramètres):et se termine souvent parreturn. - Elle évite de répéter du code et rend le programme plus lisible.
- Les paramètres sont des variables locales à la fonction.
- L'appel se fait avec
nom(valeurs).
Pour s'entraîner
Tu peux maintenant t'entraîner avec les exercices et quiz sur AlloSeconde. Tu y trouveras des fonctions à écrire, des bugs à corriger et des simulations à réaliser. Bon courage !
