Explication de la leçon
Après cette leçon, tu seras capable de :
Une fonction regroupe un comportement réutilisable derrière un nom. Définis-la avec def, liste les paramètres requis entre parenthèses, et indente le corps de la fonction :
def calculate_total(price, quantity):
return price * quantityprice et quantity sont des paramètres. Les valeurs fournies dans un appel comme calculate_total(12.5, 4) sont des arguments.
La distinction la plus importante de cette leçon réside entre return et print(). print() affiche une valeur, mais return transmet un résultat à l'appelant. Les valeurs renvoyées peuvent être stockées, comparées, formatées, transmises à une autre fonction ou vérifiées par des tests automatisés.
Une fonction peut renvoyer différents types de valeurs, y compris des chaînes, des nombres et des booléens. Lorsqu'une condition identifie un résultat définitif, un retour anticipé permet de terminer immédiatement la fonction et d'éviter des imbrications inutiles.
Si l'exécution atteint la fin d'une fonction sans return, Python renvoie None.
L'appelant reçoit la valeur calculée et peut la réutiliser.
def estimate_storage(file_size_mb, copies):
return file_size_mb * copies
required_mb = estimate_storage(18, 3)
print(f"Storage: {required_mb} MB")Sortie :
Storage: 54 MBLa fonction calcule ; l'appelant décide de la manière d'afficher le résultat.
Les paramètres rendent la fonction utilitaire réutilisable avec différentes valeurs.
def format_environment(name, region):
return f"{name.lower()}@{region.upper()}"
print(format_environment("Staging", "eu"))Sortie :
staging@EULa chaîne renvoyée est construite à partir des deux arguments.
Une comparaison peut être renvoyée directement.
def is_within_limit(used, limit):
return used <= limit
print(is_within_limit(72, 100))Sortie :
TrueLe résultat est un booléen, pas le texte "True".
Un retour anticipé traite le cas bloquant avant le résultat normal.
def deployment_status(failed_checks, is_frozen):
if is_frozen:
return "frozen"
if failed_checks > 0:
return "blocked"
return "ready"
print(deployment_status(0, False))Sortie :
readyDès que Python atteint un return, la fonction se termine immédiatement.
| Objectif | Python |
|---|---|
| Définir un comportement réutilisable | def function_name(parameters): |
| Envoyer un résultat à l'appelant | return value |
| Afficher une valeur uniquement | print(value) |
| Terminer une fonction lorsqu'une règle est finale | return anticipé |
| Aucune valeur de retour explicite | Python renvoie None |
return atteint ne s'exécutera pas.