Python 3.6 : Bouée de secours : paramètres
Cette « bouée de secours » revient sur la notion centrale de paramètres de fonction. Une fonction est comme une boîte noire : depuis le programme principal, on l'appelle, on lui passe éventuellement des arguments, et elle retourne un résultat. Mais on ne se préoccupe pas de son contenu interne. Cette abstraction est ce qui rend les programmes structurés et maintenables.
Fonctions avec et sans paramètres
Il existe deux grandes catégories de fonctions. Les fonctions sans paramètres, comme demander_nom(), qui n'attendent aucune donnée d'entrée. Et les fonctions avec paramètres, comme demander_age(personne), qui prennent une ou plusieurs valeurs pour adapter leur comportement. Un paramètre est une variable locale à la fonction : il n'existe qu'à l'intérieur et n'est pas visible depuis le programme principal.
def demander_age(personne):
age = input("Quel est l'âge de " + personne + " ? ")
return age
def demander_nom():
return input("Quel est ton nom ? ")
nom = demander_nom()
age = demander_age(nom)
Si une fonction attend un paramètre, vous DEVEZ lui passer une valeur lors de l'appel. Sinon, Python lève une TypeError : missing 1 required positional argument. Inversement, si une fonction n'attend aucun paramètre et que vous lui en passez un, vous obtenez une TypeError : takes 0 positional arguments but 1 was given.
Les règles d'or des paramètres :
- Le paramètre est une variable locale à la fonction
- Il n'est visible que dans le corps de la fonction
- La signature de l'appel doit correspondre à celle de la définition
- Une fonction sans paramètre n'accepte aucun argument
- Une fonction avec paramètre exige une valeur à l'appel
Maîtriser cette distinction permet d'écrire des fonctions claires et réutilisables. À l'appel, si vous avez un doute, regardez la signature de la fonction (def nom(parametres):) pour savoir quoi lui passer. Faites toujours bien attention à l'alignement entre la définition et l'appel, c'est la première cause d'erreur chez les débutants. À très bientôt pour un exercice sur la fonction afficher.
En résumé
Cette leçon explique le concept fondamental des paramètres en Python. Un paramètre est une variable locale à une fonction qui permet de recevoir des valeurs lors de l'appel de la fonction. La leçon couvre la distinction entre fonctions avec et sans paramètres, les règles d'utilisation correcte, et les erreurs courantes quand on oublie de passer les arguments requis.
Points clés
- Un paramètre est une variable locale à une fonction, visible uniquement à l'intérieur de celle-ci
- Les fonctions peuvent avoir des paramètres (qui reçoivent des valeurs) ou pas, et cette décision définit leur interface
- Quand on appelle une fonction ayant des paramètres, il faut obligatoirement passer une valeur (argument) pour chaque paramètre
- Les fonctions fonctionnent comme des 'boîtes noires' : on les appelle et on utilise leur résultat sans connaître le détail interne
- Une erreur courante : oublier de passer un argument à une fonction ou en passer un à une fonction qui n'en prend pas
- Les paramètres doivent être fournis avec des arguments correspondants lors de l'appel, sinon Python génère une erreur
Questions fréquentes
Qu'est-ce qu'un paramètre en Python ?
Un paramètre est une variable locale à une fonction qui reçoit une valeur lors de l'appel de la fonction. Il n'existe et n'est accessible que l'intérieur de celle-ci.
Quelle est la différence entre un paramètre et un argument ?
Un paramètre est déclaré dans la signature de la fonction (par exemple, def nom(paramètre):), tandis qu'un argument est la valeur réelle qu'on passe lors de l'appel de la fonction (par exemple, nom(valeur)).
Qu'est-ce qui se passe si j'appelle une fonction avec un paramètre sans passer d'argument ?
Python génère une erreur qui indique qu'il manque un argument positionnel obligatoire. Il faut toujours passer une valeur pour chaque paramètre déclaré dans la fonction.