Aller au contenu

Les fonctions en Python

Jusqu'ici, nos programmes étaient simplement une suite d'instructions exécutées de haut en bas. Mais plus un programme grandit, plus il devient long, répétitif et difficile à modifier.

Pour résoudre ce problème, on va introduire un outil essentiel : les fonctions.

Une fonction permet de regrouper un morceau de code, de lui donner un nom, et de le réutiliser autant de fois qu’on veut.


Définir une fonction

On utilise le mot clé def (pour define).

def bonjour():
    print("Bonjour !")

Ici on vient de créer une fonction qui s’appelle bonjour.

Mais la fonction ne s’exécute pas encore.

Pour l’exécuter, on l'appelle :

bonjour()

Affiche :

Bonjour !

Pourquoi utiliser des fonctions ?

  • Pour éviter de copier-coller du code
  • Pour rendre le code plus clair
  • Pour organiser un programme en petites parties faciles à comprendre

Fonctions avec paramètres

Une fonction peut recevoir des informations.

def bonjour_prenom(nom):
    print(f"Bonjour {nom} !")

Et on appelle :

bonjour_prenom("Alice")
bonjour_prenom("Bob")

Affiche :

Bonjour Alice !
Bonjour Bob !

Ici, nom est appelé paramètre. Il représente ce que la fonction reçoit pour faire son travail.


Fonctions avec retour (return)

Une fonction peut aussi renvoyer une valeur.

def carre(x):
    return x * x

Quand on appelle :

resultat = carre(5)
print(resultat)

Affiche :

25

Ici return renvoie une valeur à l’endroit où la fonction a été appelée.


Attention : une fonction peut contenir plusieurs return, mais dès que l’un d’eux s’exécute, la fonction s’arrête.

def signe(n):
    if n > 0:
        return "positif"
    elif n < 0:
        return "négatif"
    else:
        return "nul"

Quizz

def addition(a, b):
    return a + b

print(addition(3, 7))
Qu'affiche ce programme ?
- 3
- 7
- *10
- Il n'affiche rien
> `addition(3,7)` renvoie 10, donc le print affiche 10.

Exercice pratique

Écrivez une fonction maximum(a, b) qui :

  • reçoit deux nombres
  • renvoie le plus grand des deux

Exemples :

maximum(3, 8) → 8
maximum(10, 2) → 10
maximum(5, 5) → 5

Puis testez-la en l’affichant avec quelques valeurs.

Bon ya déjà une fonction max dans python qui a exactement ce même comportement mais l'utilisez pas ok ?


En résumé

Mot clé Rôle
def Déclare une nouvelle fonction
() Sert à appeler une fonction
paramètres Informations reçues par la fonction
return Renvoie une valeur

Les fonctions sont extrêmement utiles dans tout programme. D'ailleurs, savais-tu que certaines sont tellement utiles, que des gens très gentils les ont déjà codé à ta place, et que tu peux directement les réutiliser ? (Clique sur suivant pour tout savoir)