- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compte personLes paramètres et les arguments
Dans la partie précédente, on a vu comment retourner des informations depuis une fonction. Dans cette partie, on va voir comment, cette fois-ci, envoyer des informations à une fonction afin de modifier le code qu'elle contient. On va utiliser ces fameuses parenthèses qui jusqu'à présent étaient restées vides.
À l'intérieur des parenthèses, quand on définit la fonction, on peut indiquer un ou plusieurs paramètres.
def affiche(message):
print(message)
Dans l'exemple ci-dessus, j'ai un paramètre qui s'appelle message
, que j'affiche ensuite avec print
à l'intérieur de ma fonction. Quand on appelle la fonction, on peut passer une valeur à ce paramètre.
affiche("bonjour")
Avant d'aller plus loin, je veux juste clarifier les choses par rapport à la terminologie. Le message, entre les parenthèses quand on définit la fonction, s'appelle un paramètre. Quand on appelle la fonction cependant, et qu'on envoie une valeur à ce paramètre, on dit qu'on envoie un argument. Donc les paramètres sont les noms des variables qui sont définies dans la fonction, et les arguments les valeurs qu'on va envoyer à ces paramètres.
Je tenais à clarifier cette terminologie car il arrive très souvent que les gens mélangent les deux. Il se peut également que dans certains tutoriels, vous n'entendiez que l'un ou l'autre de ces termes, ou même qu'ils soient utilisés de la mauvaise façon. Personnellement, je pense qu'il est très important d'utiliser les bons termes pour qu'on se comprenne bien dans le reste de la formation, et qu'il soit clair à quoi on fait référence quand on parle de paramètre ou d'argument.
Dans notre exemple, quand on appelle la fonction affiche
, on lui passe un argument, la chaîne de caractères "bonjour", et cet argument est récupéré par la fonction dans le paramètre message
que l'on va pouvoir ensuite utiliser comme n'importe quelle variable à l'intérieur de la fonction. On fait tout simplement un print
de cette variable message
qui va donc être affichée à l'écran.
Alors il faut bien faire attention avec les paramètres, car dans notre exemple, si on utilise la fonction affiche
sans rien lui passer en argument, on va se retrouver avec une erreur. Comme on n'envoie rien à la fonction, message
ne sera pas définie, et donc quand on va vouloir printer la variable message
, Python ne saura pas quoi afficher et donc on aura une erreur. Vous êtes donc obligé, dans ce cas de figure, d'envoyer quelque chose à la fonction. Le paramètre message
est donc un paramètre qu'on appelle obligatoire.
Valeurs par défaut
Heureusement, on peut définir des valeurs par défaut pour les paramètres en les indiquant directement dans la définition de la fonction.
def affiche(message="Message par défaut"):
print(message)
affiche()
Si j'appelle ma fonction affiche
sans lui passer d'argument, elle va utiliser la chaîne de caractères par défaut que j'ai définie dans la fonction et printer "Message par défaut", puisque je n'ai rien indiqué lors de l'appel de ma fonction.
affiche("bonjour")
Par contre, si on choisit d'envoyer un argument lors de l'appel de la fonction, c'est l'argument envoyé qui va être pris en compte et qui va être assigné à message
.
Donc la valeur par défaut qu'on définit dans la fonction n'est utilisée que si on n'envoie aucun argument, sinon c'est l'argument envoyé qui prime.
Définir plusieurs paramètres
On peut définir autant de paramètres que l'on veut dans une fonction. Dans l'exemple ci-dessous, la fonction addition
additionne deux nombres et retourne le résultat de cette addition.
def addition(a, b):
return a + b
addition(10, 5)
Si on appelle la fonction en lui passant deux valeurs pour a
et b
, Python va assigner par défaut ces valeurs dans l'ordre, c'est-à-dire que 10 va être assigné à la variable a
et 5 à la variable b
.
Cependant, il est possible d'indiquer lors de l'appel de la fonction à quel paramètre on veut envoyer nos arguments.
addition(b=10, a=5)
Dans cet exemple, on inverse l'envoi en disant que le 10 doit être envoyé à la variable b
, et le 5 à la variable a
.
Pour résumer
- On peut définir un ou plusieurs paramètres dans une fonction, dans la définition de la fonction.
- Ces paramètres deviennent des variables utilisables à l'intérieur de la fonction.
- On peut définir des valeurs par défaut pour ces paramètres pour pouvoir utiliser une fonction sans avoir besoin d'envoyer des valeurs.
- On peut spécifier explicitement à quels paramètres on envoie une valeur lors de l'appel de la fonction.
Je vous conseille vivement de faire tous les exercices de cette section pour bien vous familiariser avec tous ces concepts. En effet, les fonctions sont vraiment primordiales en programmation, et nous allons les utiliser tout le temps.
Alors n'hésitez pas à visionner à nouveau les différentes sessions de cette partie sur les fonctions et à faire tous les exercices pour bien maîtriser tous ces cas de figure et d'utilisation des fonctions.
Ce n'est pas fini...
Tu as complété % du parcours 🔥
Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.