Les sous-programmes
Déclaration des sous-programmes
- En programmation, un sous-programme est généralement appelé une fonction.
- Une fonction est déclarée avec le mot-clé
def
suivi du nom de la fonction et des parenthèses()
. - Les instructions à exécuter sont ensuite écrites sous cette déclaration, indentées d’une tabulation.
- Comme pour les structures conditionnelles (if) ou les boucles (for, while), il ne faut pas oublier le : qui est primordial.
- Donnez un nom pertinent à votre fonction qui permettra à un futur programmeur de comprendre le contenu de votre fonction.
# Déclaration d'une fonction nommée bonjour
def bonjour():
print("Bonjour le monde!")
Appel des sous-programmes
- Lorsqu’on veut utiliser une fonction, on dit qu’on appelle la fonction.
- Pour appeler une fonction, il suffit d’écrire son nom suivi de parenthèses
()
.
# Appel (utilisation) de la fonction bonjour
bonjour()
Bonjour le monde!
Passage de paramètres
- Les fonctions peuvent prendre des paramètres, qui sont des valeurs passées à la fonction lors de son appel.
- Les paramètres sont précisés entre les parenthèses d’une fonction, lors de la déclaration de la fonction.
# Déclaration de la fonction saluer
def saluer(prenom):
print(f"Bonjour {prenom}!")
# Demander à un utilisateur de saisir son prénom. Ce prénom est passé en paramètre pour être utilisé dans la fonction.
prenom = str(input("Veuillez saisir votre prénom : "))
saluer(prenom)
Dans le cas où l’utilisateur saisie Alexandre, le résultat est celui ci-dessous :
Bonjour Alexandre!
Les paramètres par défaut
-
Les paramètres par défaut dans les fonctions en Python permettent de donner une valeur par défaut à un ou plusieurs paramètres.
-
Cela signifie que si un argument n’est pas fourni lors de l’appel de la fonction, le paramètre prendra la valeur par défaut spécifiée.
-
Les paramètres par défaut sont très utiles pour rendre les fonctions plus flexibles et faciles à utiliser, car ils permettent de ne pas spécifier certains arguments si les valeurs par défaut conviennent.
-
Voici un exemple simple pour illustrer cela :
def salutation(prenom, message="Bonjour"):
print(f"{message}, {prenom}!")
# Appel de la fonction avec 1 argument
prenom = str(input("Veuillez saisir votre prénom : "))
salutation(prenom)
Dans le cas où l’utilisateur saisie Alexandre, le résultat est celui ci-dessous :
Bonjour Alexandre!
def salutation(prenom, message="Bonjour"):
print(f"{message}, {prenom}!")
# Appel de la fonction avec les deux arguments
prenom = str(input("Veuillez saisir votre prénom : "))
salutation(prenom, "Allo")
Dans le cas où l’utilisateur saisie Alexandre, le résultat est celui ci-dessous :
Allo Alexandre!
Explication
- Dans cet exemple, la fonction
salutation
prend deux paramètres :nom
etmessage
. - Le paramètre
message
a une valeur par défaut de"Bonjour"
. - Lorsque la fonction est appelée avec les deux arguments, elle affiche “Salut, Alexandre!”.
- Lorsque la fonction est appelée avec seulement le premier argument, elle utilise la valeur par défaut pour
message
et affiche “Bonjour, Alexandre!”. - L’ordre dans lequel les paramètres sont passés doivent correspondre à l’ordre défini dans la fonction.
- Le nom des paramètres ne sont pas obligatoirement les mêmes que ceux dans le code principal.
Il faut toujours mettre les paramètres par défaut à la fin lors de la création de votre fonction.
Retour des sous-programmes
- Une fonction peut renvoyer une valeur pour que cette valeur soit utilisée dans le reste du programme.
- Dans ce cas précis, le résultat devra être stocker dans une variable qui sera déclarée avec l’appel de la fonction.
- Pour faire en sorte qu’une fonction renvoie une valeur, on utilise le mot clé
return
. - L’instruction avec le mot clé
return
DOIT être la dernière de la fonction. En d’autres mots, il ne peut pas avoir d’autres lignes de code dans une fonction, APRÈS l’instructionreturn
- Il faut éviter d’utiliser plusieurs
return
dans une fonction.
# Déclaration de la fonction carre
def carre(nombre):
nombre_au_carre = nombre ** 2
return nombre_au_carre
# Utilisation de la fonction pour calculer le carré de 5 et stocker le résultat dans la variable x
nombre = 5
x = carre(nombre) # x vaut maintenant 25
print(f"{nombre}² = {x}") # affiche 25
Les variables déclarées dans une fonction sont accessibles uniquement dans celle-ci.
Dans notre exemple ci-dessus, la variable nombre_au_carre ne pourra pas être réutilisée dans une autre cellule. nombre_au_carre appartient à la fonction carre().