Python au lycée (4) : Les fonctions Méthode

Définir et appeler une fonction avec def

Durée estimée
5 minutes
Votre progression

Créez un compte gratuit pour suivre votre avancement et reprendre où vous avez laissé.

Créer un compte

Méthode

Pour définir puis appeler une fonction en Python :

  1. Écrire l'en-tête : def nom_de_la_fonction(paramètres) : sur une ligne, terminée par les deux-points.
  2. Indenter le corps de la fonction sous l'en-tête : ce bloc contient les instructions à exécuter lors de chaque appel.
  3. Placer l'éventuel return à la fin du corps pour renvoyer un résultat au programme appelant.
  4. Appeler la fonction depuis le programme principal en écrivant nom_de_la_fonction(valeurs). Les valeurs remplacent les paramètres dans l'ordre.
  5. Utiliser le résultat renvoyé : le stocker dans une variable ou l'afficher directement avec print.

Fonction qui calcule un carré

On veut une fonction qui renvoie le carré d'un nombre :

def carre(x) :
    return x * x

a = carre(5)
print(a)          # affiche 25
print(carre(7))   # affiche 49

Étape 1 : On définit carre avec un paramètre x. Le corps contient une seule ligne : return x * x.

Étape 2 : Au moment de la définition, aucune instruction n'est exécutée. Python enregistre simplement la fonction.

Étape 3 : L'appel carre(5) exécute le corps avec $x = 5$ et renvoie $5 \times 5 = 25$. Cette valeur est rangée dans a.

Étape 4 : L'appel carre(7) renvoie 49, qui est affiché directement.

Fonction sans paramètre

Une fonction peut n'avoir aucun paramètre. On veut une fonction qui affiche un message d'accueil :

def saluer() :
    print("Bonjour !")
    print("Bienvenue sur le programme.")

saluer()
saluer()

Étape 1 : La fonction saluer n'a pas de paramètre : les parenthèses sont vides, mais elles restent obligatoires.

Étape 2 : Elle ne renvoie rien : pas de return. Elle affiche simplement deux messages.

Étape 3 : L'appel saluer() exécute le corps. On peut appeler la fonction autant de fois que l'on veut sans réécrire le code.

Résultat : le message est affiché deux fois de suite.

Attention

Ne pas confondre définition et appel :

  • Définition : def carre(x) : (mot-clé def, paramètres formels, deux-points, corps indenté). La fonction est créée mais pas exécutée.
  • Appel : carre(5) (nom de la fonction, arguments concrets entre parenthèses). Le corps est alors exécuté.

Oublier les parenthèses lors de l'appel (écrire carre au lieu de carre(5)) ne provoque pas d'erreur Python mais n'exécute pas la fonction : carre seul désigne la fonction elle-même.

Pour s'entraîner