⚙️ Création de fonctions
Une fonction regroupe un bloc de code réutilisable sous un nom.
Elle reçoit des données en entrée via ses paramètres, effectue un traitement, et peut renvoyer un résultat avec return.
🔹 Anatomie d'une fonction
def double(x):
return 2 * x
| Élément | Rôle |
|---|---|
| def | Mot-clé qui indique la définition d'une fonction |
| double | Nom de la fonction |
| (x) | Paramètre(s) entre parenthèses |
| : | Indique le début du corps de la fonction |
| Indentation | Délimite le corps de la fonction (obligatoire) |
| return | Valeur renvoyée à l'appelant |
🔹 Paramètres
Une fonction peut avoir 0, 1 ou plusieurs paramètres.
def nombre_pi():
return 3.14159
def carre(x):
return x * x
def puissance(base, exposant):
return base ** exposant
- Les paramètres multiples sont séparés par des virgules.
- L'ordre des valeurs lors de l'appel doit correspondre à l'ordre des paramètres.
puissance(2, 3) # base=2, exposant=3 → retourne 8
puissance(3, 2) # base=3, exposant=2 → retourne 9
🔹 Valeur par défaut
Un paramètre peut avoir une valeur par défaut, utilisée si aucune valeur n'est fournie lors de l'appel.
def puissance(base, exposant=2):
return base ** exposant
puissance(5) # exposant prend la valeur par défaut → 25
puissance(5, 3) # exposant prend la valeur fournie → 125
💡 Les paramètres sans valeur par défaut doivent toujours être placés avant ceux qui en ont une.
🔹 Valeur de retour
| Situation | Comportement |
|---|---|
| return valeur | Renvoie la valeur et arrête la fonction |
| Plusieurs return | Seul le premier atteint est exécuté |
| Retour multiple | return a, b → décomposable en x, y = f() |
| Aucun return | La fonction retourne automatiquement None |
def diviser(a, b):
quotient = a // b
reste = a % b
return quotient, reste
q, r = diviser(10, 3) # q = 3, r = 1
Fonction sans return
Une fonction sans return retourne automatiquement None.
def saluer(nom):
print(f"Bonjour, {nom}!")
saluer("Mario") # Affiche : Bonjour, Mario!
resultat = saluer("Link") # Affiche : Bonjour, Link!
print(resultat) # Affiche : None
⚠️ N'affichez jamais le résultat d'une fonction qui ne retourne rien — cela affichera toujours None.
# ✅ Bonne utilisation
saluer("Kirby")
# ❌ Mauvaise utilisation
print(saluer("Kirby")) # Affiche la salutation, puis None
🔹 Portée des variables
| Portée | Définition | Accessible |
|---|---|---|
| Globale | En dehors de toute fonction | Partout dans le programme |
| Locale | À l'intérieur d'une fonction | Uniquement dans cette fonction |
x = 10 # variable globale
def ma_fonction():
x = 5 # variable locale — différente de la globale
print(x) # affiche 5
ma_fonction()
print(x) # affiche 10
💡 Les paramètres d'une fonction ont aussi une portée locale.
🔹 Commentaires et docstring
def energie_cinetique(masse, vitesse):
"""
Calcule l'énergie cinétique d'un objet.
Paramètres :
masse (float) : masse en kg
vitesse (float) : vitesse en m/s
Retourne :
float : énergie cinétique en Joules
"""
return 0.5 * masse * vitesse ** 2
| Syntaxe | Utilisation |
|---|---|
| # commentaire | Commentaire sur une ligne ou en fin de ligne |
| """...""" | Docstring : documenter une fonction (obligatoire bonne pratique) |