Python : Les fonctions

Cet article est archivé dans la rubrique Le langage Python.

Une fonction est une portion de code qui effectue une tâche ou un calcul relativement indépendant du reste du programme. Une fonction comporte des paramètres d’entrée sur lesquels elle travaille avant de retourner une valeur de sortie qui peut être stockée dans une variable. Si la fonction ne retourne rien (None), on parlera plutôt de procédure. Une fonction est un sous-programme réutilisable partout dans le code. Il est donc inutile de réécrire des instructions identiques. Il suffit de les inclure dans une fonction et d’appeler cette dernière à chaque fois que cela est nécessaire.

Les fonctions prédéfinies

Nous avons déjà utilisé quelques fonctions sans le savoir :

  • print() : affiche n’importe quel nombre de valeurs passées en arguments.
  • input() : interrompt le programme jusqu’à ce que l’utilisateur entre une chaîne de caractères puis presse la touche « Entrée ». Alors, le programme redémarre et affiche la chaîne de caractères.
  • int() : transforme une chaîne de caractères en nombre entier (si celle-ci s’y prête) ou un nombre décimal en nombre entier (en ignorant ce qui est après la virgule).
  • float() : transforme une chaîne de caractères en nombre décimal (si celle-ci s’y prête) ou un nombre entier en nombre décimal (exemple : 9.0)
  • str() : transforme un nombre entier ou un nombre décimal en chaîne de caractères.

Créer une fonction

Pour créer une fonction, on utilise le mot-clé def. Voici comment une fonction est construite :

fonction_1

Pour appeler la fonction et stocker dans une variable la valeur qu’elle retourne, il suffit d’écrire :

fonction_2

Prenons l’exemple d’une fonction qui divise par deux la valeur passée en argument :

fonction_3

La fonction doit toujours précéder l’appel de fonction.

Passer plusieurs arguments à une fonction

Il est possible de passer plusieurs arguments à une fonction :

fonction_4

Nombre d’arguments indéterminés

Il est possible de passer à une fonction un nombre infini d’arguments. Pour ce faire, il suffit de rajouter un astérisque devant le paramètre qui recevra les arguments. En fait, cela a pour effet de créer une liste :

fonction_5

J’exécute ce bout de code dans un terminal IDLE-3 :

fonction_6

À quoi sert la docstring?

La docstring est une chaîne de caractères indentée juste après la déclaration d’une fonction. Elle fournit une documentation accessible grâce à la fonction help() :

fonction_7

Paramètres par défaut

Une fonction peut avoir des paramètres avec des  arguments par défaut. Ces paramètres ne doivent pas précéder les paramètres sans arguments par défaut, sous peine de lever une exception.

Voici deux exemples. Dans l’appel de fonction du premier exemple, je ne passe qu’un seul argument qui correspond au premier paramètre de la fonction. Le deuxième paramètre utilise l’argument par défaut (2).

fonction_8

Dans ce deuxième exemple, je passe deux variables en arguments en modifiant l’argument du deuxième paramètre. Je dois préciser quel paramètre est modifié (diviseur = b).

fonction_9

Si je crée une fonction en déclarant un paramètre par défaut avant les autres paramètres (exemple : def  diviser(diviseur = 2, x), Python retourne une exception et le programme ne s’exécute pas.

fonction_10

Auteur : Ordinosor

Bienvenue sur Miamondo, mon blog personnel. "Mia mondo", c'est de l'espéranto et ça signifie "Mon monde" en français. Je m'appelle Benoît alias Ordinosor, Français expatrié en Allemagne. Mes centres d'intérêt sont les distributions GNU/Linux, le langage de programmation Python, la science-fiction et l'espéranto.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s