PROGRAMMATION PYTHON –-- Chapitre 07
Regroupez des tâches en utilisant des fonctions
1. Qu’est-ce qu’une fonction ?
Une fonction est un bloc de code avec un but spécifique, auquel vous pouvez donner un nom.
Quand vous appelez cette fonction, vous exécutez le code qu’elle contient. Les fonctions vous
laissent saisir des paramètres pour exécuter le même code sur différentes valeurs.
Il y a différents types de fonctions dans Python :
a) Les fonctions intégrées fournies avec Python.
b) Les fonctions définies par l’utilisateur que les développeurs (vous !) créent.
Vous avez déjà utilisé une fonction intégrée ! Souvenez-vous au chapitre précédent, nous
avions évoqué le fait que range() est une fonction dans laquelle vous pouvez saisir un nombre,
et qui renverra ou répondra avec une séquence allant de 0 à -1.
2. Définissez une fonction
Les fonctions sont des blocs de code réutilisables qui permettent d'organiser et de structurer le
code, ainsi que de faciliter sa maintenance. En Python, la création d'une fonction se fait à l'aide
du mot-clé def , suivi du nom de la fonction et des éventuels paramètres entre parenthèses.
Fonction avec une entrée et une sortie
Nous allons maintenant explorer trois types de fonctions différents pour découvrir toutes les
possibilités de cette fonctionnalité :
1. Les fonctions sans paramètres.
2. Les fonctions avec paramètres.
3. Les fonctions avec une valeur de retour.
PROGRAMMATION PYTHON –-- Chapitre 07
[Link] une fonction sans paramètres
Une fonction sans paramètres et sans valeur de retour est la fonction la plus basique que l'on
puisse créer en programmation. Elle est assimilable à un bloc de code à lancer quand cela est
nécessaire. Elle est utile pour encapsuler un bloc de code répétitif, et faciliter sa réutilisation
dans différents endroits du programme.
def afficher_message():
print("Bonjour, comment ça va ?")
Cette fonction s'appelle afficher_message et ne prend aucun paramètre en entrée, car elle est
définie avec des parenthèses vides. Elle n'a pas de valeur de retour car elle se contente d'afficher
un message à l'écran en utilisant la fonction print() .
Pour appeler cette fonction, il suffit d'utiliser son nom et les parenthèses vides, car il n’y a pas
de paramètres :
afficher_message()
En utilisant cette fonction dans votre code, vous pouvez facilement afficher un message de
salutation, comme `"Bonjour, comment ça va ?"`, autant de fois que nécessaire, simplement en
l'appelant dans le code.
[Link] une fonction avec paramètres
On peut également créer une fonction avec des paramètres, qui permettent de transmettre des
valeurs à la fonction. Les paramètres sont simplement listés entre parenthèses, séparés par des
virgules. Voici un exemple d'une fonction qui prend deux paramètres, un nom et un prénom, et
qui les affiche ensuite.
def afficher_nom_prenom(nom, prenom):
print("Nom :", nom)
print("Prénom :", prenom)
Pour appeler cette fonction, il faut préciser les valeurs à transmettre aux paramètres, soit deux
chaînes de caractères.
afficher_nom_prenom("Dupont", "Jean")
La fonction affichera :
Nom : Dupont
Prénom : Jean
PROGRAMMATION PYTHON –-- Chapitre 07
[Link] une fonction avec une valeur de retour
Une fonction avec une valeur de retour est une fonction qui peut prendre des paramètres et
effectuer des opérations, mais qui renvoie également une valeur à la fin. Cette valeur peut être
utilisée à d'autres endroits du programme. Par exemple, si nous avons une fonction qui calcule
la somme de deux nombres, nous pouvons stocker le résultat dans une variable pour l'utiliser
plus tard dans notre programme.
Découvrez la fonction "somme"
def calculer_somme(a, b):
resultat = a + b
return resultat
Dans cet exemple, la fonction prend deux nombres en paramètres, les additionne,
puis renvoie le résultat de l'addition. Le résultat est stocké dans la variable resultat et est
renvoyé à l'aide du mot-clé return .
Pour utiliser la valeur de retour de la fonction, nous pouvons stocker le résultat dans une
variable, comme ceci :
somme = calculer_somme(2, 3)
print(somme) #Ce print affichera 5
PROGRAMMATION PYTHON –-- Chapitre 07
Dans ce cas, la variable somme contiendra la valeur renvoyée par la fonction, qui est le résultat
de l'addition de 2 et 3, soit 5. Cette valeur peut ensuite être utilisée à d'autres endroits du
programme, si besoin.
Est-ce qu’une fonction peut renvoyer plusieurs valeurs simultanément ?
Il est possible de retourner plusieurs valeurs en les séparant par des virgules dans l'instruction
de retour de la fonction. Les valeurs retournées seront automatiquement regroupées dans
un tuple.
3. Quand utiliser les fonctions
Quand on écrit beaucoup de code, on s’y perd et on fait des erreurs facilement entre les
différentes fonctionnalités en cours. Les fonctions vous aident à séparer le code en sections plus
petites. Comme ça, vous gardez le fil sur ce que chaque partie est censée faire.
Vous en sortirez avec un code mieux écrit, mieux structuré et plus lisible.
Exercice d’application :
Vous devez créer un programme qui calcule le salaire horaire d'un employé, en fonction de son
salaire mensuel et de son nombre d'heures travaillées par semaine. Le programme doit utiliser
des fonctions pour effectuer les calculs.
Clonez le code se trouvant dans ce répertoire Github.
Consignes
1. Créez une fonction appelée salaire_mensuel(salaire_annuel) qui prend en paramètre
un salaire annuel et retourne le salaire mensuel correspondant en divisant le salaire
annuel par 12.
2. Créez une fonction appelée salaire_hebdomadaire(salaire_mensuel) qui prend en
paramètre un salaire mensuel et retourne le salaire hebdomadaire correspondant en
divisant le salaire mensuel par 4.
3. Créez une fonction appelée salaire_horaire(salaire_hebdomadaire,
heures_travaillees) qui prend en paramètres un salaire hebdomadaire et le nombre
d'heures travaillées par semaine, et retourne le salaire horaire correspondant en divisant
le salaire hebdomadaire par le nombre d'heures travaillées par semaine.
4. Demandez à l'utilisateur de saisir son salaire annuel.
5. Demandez à l'utilisateur de saisir le nombre d'heures travaillées par semaine.
PROGRAMMATION PYTHON –-- Chapitre 07
6. Appelez les fonctions précédemment créées pour calculer le salaire horaire
correspondant.
7. Affichez le résultat sous la forme : "Votre salaire horaire est de XX euros".
Attention : n'oubliez pas de convertir les valeurs fournies (chaînes de caractères) en nombres.
Il est possible que les valeurs fournies soient des valeurs à virgule. Il faut alors utiliserfloatplutôt
queintpour faire la conversion !
Vous pouvez retrouver la correction de cet exercice dans ce répertoire Github.
En résumé
• Les fonctions sont un moyen de répéter des fonctionnalités et de séparer du code dans
des modules différents.
• Vous pouvez créer des fonctions avec ou sans paramètres d’entrée.
• Les fonctions sont définies (code écrit), appelées (code exécuté), et
peuvent renvoyer des informations (une valeur est donnée comme résultat).