Les fonctions

A quoi sert une fonction ?

Important à comprendre

Une fonction, c’est un bout de programme réutilisable.

Par exemple, tu as écrit un programme qui permet de calculer la moyenne de plusieurs notes. Plutôt que de le réécrire à chaque fois que tu en as besoin, tu vas le mettre dans une fonction et c’est la fonction que tu utiliseras ensuite.

Créer une fonction et l’utiliser

# création de la fonction
def calculMoyenne(fnote1,fnote2,fnote3) :
    resultat=(fnote1+fnote2+fnote3)/3
    return resultat

note1=int(note1)
note2=int(note2)
note3=int(note3)

# calcul de la moyenne en utilisant la fonction
moyenne=calculMoyenne(note1,note2,note3)
# affichage du résultat
print("La moyenne de ces 3 notes est %f" % moyenne)

Comprendre le programme

  • On a créé une fonction qui calcule la moyenne de 3 notes. Cette fonction renvoie le résultat avec l’instruction return.

  • Cette fonction se définit avec le mot-clef def et possède 3 parties :

    • un nom (calculMoyenne)
    • des paramètres (fnote1, fnote2, fnote3) : ce sont les variables qu’il faut impérativement fournir à la fonction pour qu'ici, par exemple, elle puisse faire le calcul.

    Dans notre exemple, les variables commencent par f_ (f pour fonction). Cette notation va nous aider à comprendre un point important plus loin (variables locales ou globales).

    S’il n’y a pas de paramètres, on utilise les parenthèses vides.

    • un corps : l’ensemble des instructions.
  • Ensuite, on a recopié dans le programme principal la demande à l’utilisateur des notes à saisir et la conversion en entier.

Pour calculer la moyenne, on fait appel à la fonction.

Variables locales et variables globales

Dans le programme précédent, expliquons la différence entre les variables f_note1 et note1.

  • fnote1 est une variable locale : elle est déclarée et n’est utilisée que dans la fonction. Si on essaie d’afficher/utiliser cette variable en dehors de la fonction, cela conduira à une erreur.

  • note1 est une variable globale : elle est déclarée en dehors des fonctions et peut être utilisée n’importe où dans le programme.

On parle de portée de la variable. Garde ce point en mémoire, tu y seras souvent confronté. Particulièrement quand tu veux modifier une variable globale dans une fonction.