Les fonctions

1. Qu'est-ce qu'une fonction ?

Une fonction est un bloc de code réutilisable qui effectue une tâche spécifique. 
Son rôle principal est de :
  1. Stocker une séquence d'instructions.
  2. L'exécuter à la demande en utilisant son nom.
  3. Permettre la réutilisation du code sans le recopier.
  4. Rendre le code plus lisible et plus facile à déboguer.
En programmation, on distingue souvent deux types de fonctions :
  • Les fonctions intégrées (built-in) : déjà existantes en Python, que vous utilisez directement (ex: print(), type(), int(), input()).
  • Les fonctions définies par l'utilisateur : celles que vous créez vous-même.

2. Définir une fonction (Déclaration)

Pour créer une fonction, on utilise le mot-clé def (pour definition).

 

A. La syntaxe

La définition d'une fonction se fait en trois parties :
  1. Le mot-clé def.
  2. Le nom de la fonction (suivi de parenthèses ()).
  3. Le symbole deux-points :.
  4. Le corps de la fonction indenté.
Syntaxe :
def nom_de_ma_fonction():
    # Instructions à exécuter
    print("Code de la fonction en cours d'exécution.")
    # On utilise l'indentation (4 espaces) comme pour les conditions


B. Appeler (ou Exécuter) la fonction

Définir une fonction ne fait rien. Pour que le code s'exécute, il faut appeler la fonction par son nom.

Exemple Python
Bonjour la Première NSI ! Bonjour la Première NSI !


3. Les Paramètres (Arguments)

Une fonction devient vraiment puissante lorsqu'elle peut accepter des données en entrée. Ces données sont appelées paramètres (ou arguments lors de l'appel). Les paramètres sont des variables locales définies entre les parenthèses de la fonction.

 

A. Syntaxe avec paramètres

Exemple Python

B. Fonctions à plusieurs paramètres

Une fonction peut prendre plusieurs arguments, séparés par des virgules.

Exemple Python


4. La Valeur de Retour (return)

Jusqu'à présent, nos fonctions affichaient un résultat (avec print()), mais ne le renvoyaient pas au reste du programme. Le mot-clé return permet à la fonction de renvoyer une valeur à l'endroit où elle a été appelée. C'est le résultat utilisable de la fonction.

A. Fonction avec return

Exemple Python

B. Distinction print() vs return (Très important)

Caractéristique print() return
Objectif Afficher une information à l'utilisateur. Fournir un résultat (une valeur) pour qu'il soit utilisé par d'autres parties du code.
Flux du programme Le programme continue après le print(). Le programme s'arrête et quitte la fonction, renvoyant la valeur.
Sortie Du texte est affiché dans la console. Une valeur (type int, str, float, etc.) est renvoyée et peut être stockée dans une variable.

5. La Portée des Variables (Scope)

En NSI, il est crucial de comprendre la portée (ou scope) d'une variable.

A. Variables Locales

Une variable définie à l'intérieur d'une fonction est une variable locale. Elle n'existe et n'est accessible que dans cette fonction.

Exemple Python

B. Variables Globales

Une variable définie en dehors de toute fonction est une variable globale. Elle est accessible partout dans le programme. 

Règle NSI : Il est fortement déconseillé de modifier une variable globale à l'intérieur d'une fonction, car cela rend le code difficile à suivre et crée des "effets de bord". Si une fonction doit modifier une valeur extérieure, elle devrait idéalement la recevoir en paramètre et la renvoyer avec return.

Fiches de révision

Fiche : Les fonctions