Numérique et Sciences Informatiques > Langages de Programmation > Introduction à un Langage Spécifique (Python par exemple) > Fonctions
Les Fonctions en Python : Guide Complet pour le Lycée
Découvrez le fonctionnement des fonctions en Python, un outil essentiel pour la programmation modulaire et réutilisable. Apprenez à définir, appeler et utiliser des fonctions avec paramètres et valeurs de retour, illustré par des exemples concrets adaptés aux élèves de lycée.
Qu'est-ce qu'une fonction ?
Une fonction est un bloc de code réutilisable qui effectue une tâche spécifique. Imaginez une recette de cuisine : la recette est la fonction, et les ingrédients sont les entrées (paramètres) de la fonction. Le plat final est le résultat (valeur de retour) de la fonction.
Définir une fonction en Python
La syntaxe pour définir une fonction en Python est la suivante:
def nom_de_la_fonction(paramètre1, paramètre2, ...):
# Bloc de code de la fonction
return valeur_de_retour
Exemple :
def
: Mot-clé qui indique le début de la définition d'une fonction.nom_de_la_fonction
: Nom que vous choisissez pour votre fonction. Il doit être descriptif et suivre les conventions de nommage (par exemple, utiliser des minuscules et des underscores).(paramètre1, paramètre2, ...)
: Liste des paramètres que la fonction reçoit en entrée. Les paramètres sont optionnels.:
: Marque la fin de la ligne de définition de la fonction.# Bloc de code de la fonction
: Instructions que la fonction exécute. Il doit être indenté (généralement avec 4 espaces).return valeur_de_retour
: Instruction qui renvoie une valeur à l'appelant de la fonction. La valeur de retour est optionnelle. Si une fonction n'a pas d'instruction return
, elle renvoie implicitement None
.
def afficher_message(nom):
print("Bonjour, " + nom + "!")
afficher_message("Alice") # Affiche : Bonjour, Alice!
Appeler une fonction
Pour exécuter le code d'une fonction, vous devez l'appeler en utilisant son nom suivi de parenthèses, en passant les arguments (valeurs) nécessaires pour les paramètres (si la fonction en a).
nom_de_la_fonction(argument1, argument2, ...)
Exemple :
def additionner(a, b):
somme = a + b
return somme
resultat = additionner(5, 3)
print(resultat) # Affiche : 8
Dans cet exemple, 5
et 3
sont les arguments passés à la fonction additionner
.
Paramètres et arguments
Les paramètres sont les variables listées dans la définition de la fonction. Ils agissent comme des placeholders pour les valeurs que la fonction recevra.
Les arguments sont les valeurs réelles passées à la fonction lors de son appel. Le nombre d'arguments doit correspondre au nombre de paramètres définis (sauf si des valeurs par défaut sont utilisées, voir ci-dessous).
Types de paramètres :
Exemples :
def saluer(nom, message="Bonjour"):
print(message + ", " + nom + "!")
saluer("Bob") # Affiche : Bonjour, Bob!
saluer("Charlie", "Bonsoir") # Affiche : Bonsoir, Charlie!
saluer(message="Salut", nom="David") # Affiche : Salut, David!
Valeur de retour
L'instruction return
permet à une fonction de renvoyer une valeur à l'appelant. Cette valeur peut être utilisée dans d'autres parties du programme.
Si une fonction ne contient pas d'instruction return
, elle renvoie implicitement None
(qui représente l'absence de valeur).
Exemple :
def calculer_surface_rectangle(longueur, largeur):
surface = longueur * largeur
return surface
surface_du_rectangle = calculer_surface_rectangle(10, 5)
print("La surface du rectangle est :", surface_du_rectangle) # Affiche : La surface du rectangle est : 50
Portée des variables
La portée d'une variable détermine où elle peut être accédée dans le code.
Exemple :
x = 10 # Variable globale
def ma_fonction():
y = 5 # Variable locale
print("Variable locale y :", y)
print("Variable globale x :", x)
ma_fonction()
# print(y) # Ceci provoquerait une erreur, car y n'est pas accessible en dehors de la fonction
print("Variable globale x :", x)
Ce qu'il faut retenir
def
, suivi du nom de la fonction, des paramètres (entre parenthèses) et d'un deux-points (:
).return
permet de renvoyer une valeur à l'appelant de la fonction.
FAQ
-
Pourquoi utiliser des fonctions ?
Les fonctions permettent de réutiliser du code, de rendre un programme plus modulaire et plus lisible. Elles facilitent également la maintenance du code. -
Quelle est la différence entre un paramètre et un argument ?
Un paramètre est une variable dans la définition de la fonction, tandis qu'un argument est la valeur passée à la fonction lors de son appel. -
Que se passe-t-il si une fonction ne contient pas d'instruction
return
?
Si une fonction ne contient pas d'instructionreturn
, elle renvoie implicitementNone
.