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.