Regroupez des tâches en utilisant des fonctions
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 :
Les fonctions intégrées fournies avec Python.
Les fonctions définies par l’utilisateur que les développeurs (vous !) créent.
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.
Nous allons maintenant explorer trois types de fonctions différents pour découvrir toutes les possibilités de cette fonctionnalité :
Les fonctions sans paramètres.
Les fonctions avec paramètres.
Les fonctions avec une valeur de retour.
Utilisez 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.
Utilisez 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
Utilisez 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.
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
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.
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.
A vous de jouer
Contexte
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.
Consignes
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.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.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.Demandez à l'utilisateur de saisir son salaire annuel.
Demandez à l'utilisateur de saisir le nombre d'heures travaillées par semaine.
Appelez les fonctions précédemment créées pour calculer le salaire horaire correspondant.
Affichez le résultat sous la forme : "Votre salaire horaire est de XX euros".
Une fois que vous avez terminé l'exercice, vous pouvez exécuter la commande suivante dans le terminal de VS code pytest tests.py
.
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).
Dans le chapitre suivant, nous allons parler de la façon avec laquelle il faut écrire du code, et pourquoi c’est si important !
- Formations jusqu’à 100 % financées
- Date de début flexible
- Projets professionnalisants
- Mentorat individuel