go-back Retour

Les fonctions en Python

📝 Mini-cours GRATUIT

Introduction

Les fonctions en programmation

Une fonction permet d'isoler plusieurs instructions qui reviennent plusieurs fois dans un programme.

Définition d'une fonction

Une fonction est définie par un nom, par ses arguments qui portent les valeurs communiquées par le programme principal à la fonction au moment de son appel et éventuellement une valeur de retour communiquée au programme par la fonction en fin d'exécution.

Composants d'une fonction

  • Nom : identifiant unique de la fonction
  • Arguments : valeurs transmises à la fonction lors de l'appel
  • Valeur de retour : résultat renvoyé par la fonction (optionnel)

EN RÉSUMÉ

Isoler une série d'instruction

Les fonctions en programmation

Certaines instructions reviennent plusieurs fois dans un même programme.

Exemple de programme avec répétitions

Un exemple de programme présentant des répétitions est le suivant :

Les lignes suivantes sont répétées 6 fois :

Solution : créer une fonction

Au lieu de répéter ces trois lignes, on peut leur donner un nom, par exemple TirerUnTrait, puis les remplacer par ce nom dans le programme principal à chaque fois qu'elles sont utilisées.

Définition de la fonction

On définit la fonction TirerUnTrait comme suit :

Utilisation dans le programme principal

Et on utilise ensuite cette fonction dans le programme principal :

Avantages des fonctions

Utiliser des fonctions évite les répétitions dans les programmes et rend plus faciles à lire et à comprendre : pour comprendre le programme ci-dessus, il n'est pas nécessaire de savoir comment la fonction tirerUnTrait est définie, il suffit de savoir ce qu'elle fait.

Si l'on veut modifier la longueur du trait à tirer ou le nombre de lignes sautées au-dessus et en-dessous de ce trait, il suffit de modifier le corps de la fonction et non le programme principal à chacun des endroits concernés.

EN RÉSUMÉ

Passer des arguments

Paramétrage des fonctions

Le programme précédent est formé de quatre blocs qui affiche le résultat de chaque match.

On peut écrire une fonction AfficherResultatMatch, qu'il suffirait d'appeler quatre fois dans le programme principal.

Cependant, contrairement à l'exemple de la fonction tirerUnTrait, ces quatre blocs ne sont pas identiques : le nom de chaque joueur et le score du match diffèrent d'un cas à l'autre.

Il faut donc paramétrer l'instruction que l'on isole pour indiquer le nom du premier joueur, le nom du deuxième joueur et le score du match.

Définition de la fonction paramétrée

La fonction correspondante est définie comme suit :

Et le programme principal devient :

Fonctions avec valeur de retour

Une fonction peut également retourner des informations vers le programme principal.

Ecrivons une fonction NombreDeVoyelles qui compte le nombre de voyelles dans un mot (ou une phrase) et retourne ce nombre de voyelles.

L'exécution de l'instruction return nbVoyelles a pour effet d'interrompre l'exécution du corps de la fonction et de renvoyer la valeur de la variable nbVoyelles au programme principal.

Exemple d'utilisation

Exemple

d'utilisation de cette fonction NombreDeVoyelles :

L'exécution de ce programme conduit à l'affichage :

EN RÉSUMÉ

Écrire les spécifications d'une fonction

Les spécifications en Python

En Python, les spécifications sont un commentaire multi-lignes, qu'on écrit entre des triples guillemets """. Il s'écrit juste après la ligne de définition de la fonction, et est indenté, comme s'il faisait partie du code source de la fonction.

Structure des spécifications

Les spécifications doivent contenir les éléments suivants :

  • Rôle : Description de ce que fait la fonction
  • Entrée : Les paramètres avec leurs types
  • Sortie : Ce que retourne la fonction avec son type
Exemple

Voici un exemple de code avec une fonction sum_3_numbers spécifiée :

def sum_numbers(number_1, number_2, number_3) :
    """
    Rôle : Additionner trois nombres
    Entrée : les trois nombres à additionner number_1 (int/float), number_2 (int/float), number_3 (int/float)
    Sortie : la somme des trois nombres (int/float)
    """
    result = number_1 + number_2 + number_3
    return result

EN RÉSUMÉ

📄 Annale PREMIUM

PREMIUM

Sujet zéro — Numérique et sciences informatiques

📄 Annale PREMIUM

PREMIUM

Sujet zéro — Numérique et sciences informatiques

NOMAD EDUCATION

L’app unique pour réussir !