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
maxdans 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)