Fonctions originales python


Fonctions originales python

  1. Objectifs
    • Connaitre les fonctions de python
    • Apprendre à créer des fonctions définies par l’utilisateur et à les utiliser pour écrire des programmes modulaires en Python.

  2. Description
    • L’approche efficace d’un problème complexe consiste souvent à le décomposer en plusieurs sous-problèmes plus simples qui seront étudiés séparément (ces sous-problèmes peuvent éventuellement être eux-mêmes décomposés à leur tour, et ainsi de suite).
    • Or il est important que cette décomposition soit représentée fidèlement dans les algorithmes pour que ceux-ci restent clairs. D’autre part, il arrivera souvent qu’une même séquence d’instructions doive être utilisée à plusieurs reprises dans un programme, et on souhaitera bien évidemment ne pas avoir à la reproduire systématiquement.
    • Les fonctions peuvent être utilisées pour définir un code réutilisable, d’organiser et de simplifier les programmes.




  3. Définition
    • Une fonction en informatique est une portion réalisant un tâche bien précise et qui pourra être utilisée une ou plusieurs fois dans la suite du programme.
    • Une fonction est une portion de code que l’on peut appeler au besoin (c’est une sorte de sous-programme).
    • L’utilisation des fonctions évite ainsi des redondances dans le code : on obtient ainsi des programmes plus courts et plus lisibles !
    • Une fonction contient un en-tête et un corps et une valeur de retour. L’en-tête commence par le mot-clé def, suivi par le nom de la fonction et des paramètres optionnels, et se termine par deux-points comme le montre le schémas suivant:

  4. Utilisation
    • La définition d’une fonction commence par une ligne d’introduction qui doit contenir :
      • Le mot clé def , suivi du nom de la fonction, suivi de tous les paramètres de la fonction entre parenthèses.
      • Le mot-clé def est une instruction pour définir une fonction en Python.
      • L’appel def crée l’objet fonction et l’affecte au nom donné.
      • Vous pouvez en outre réaffecter le même objet fonction à d’autres noms.
      • Pour démarrer une fonction Python commencer avec le mot-clé def, spécifier un nom suivi d’un signe de deux-points (:).
    • Ajouter une docstring significative pour expliquer ce que fait la fonction. Cependant, c’est une étape facultative.
    • Après cette ligne d’introduction, les instructions qui définissent la fonction doivent être dans un bloc indenté (décalé à droite) qui constitue le corps de la fonction (si une instruction n’est pas indentée : elle sera considérée comme ne faisant pas partie de la définition de la fonction et entraînera la fin de la définition du corps de la fonction).
    • En fin il faut utiliser le mot clé return
      • Le mot clé return permet d’indiquer la valeur retournée par la fonction. Il achève la définition de la fonction (lorsque Python rencontre un return dans une fonction, il sort de la fonction, les instructions qui pourraient se trouver ensuite dans le corps de la fonction seront ignorées).
      • La valeur retournée indiquée après le mot clé return est le résultat du "travail" de la fonction.
      • Tout ce qui a pu être calculé localement dans la fonction est perdu s’il n’est pas retourné.
      • Si on ne met pas de return dans le corps de la fonction, ou bien un return sans spécifier de valeur, alors Python retourne automatiquement la valeur None.
    • La syntaxe Python pour la définition d’une fonction est la suivante :
    • Interprétation:
      • def pour expliquer qu’on définit une fonction.
      • nomDeLaFonction : vous pouvez mettre des lettres et chiffres (mais pas en premier) dans le nom mais pas d’espace.
      • liste_de_parametres on peut préciser les paramètres de la fonction comme en math pour f(x), le paramètre est x (En mathématique, on l’appelle une variable). S’il y a plusieurs paramètres, on les sépare par une virgule. S’il n’y en a pas, on met juste des parenthèses sans rien dedans.
      • : les 2 points à la fin de la ligne sont obligatoires
      • Le bloc instructions effectue les calculs pour réaliser les tâches confiées à la fonction définie. Les calculs peuvent produire de nouvelles valeurs que l’on peut renvoyer dans une expression (affecter à variable, utiliser comme arguments d’une autre fonction).
      • return Cette commande permet de renvoyer un résultat obtenu par la fonction pour pouvoir l’utiliser dans la suite du programme.
      • L’exécution de l’instruction return provoque la sortie immédiate de la fonction en retournant la valeur spécifiée. Si une fonction ne retourne rien, Python lui fait retourner la valeur None
      • La syntaxe de def utilise les deux-points comme les boucles for et while ainsi que les tests if, un bloc d’instructions est donc attendu. De même que pour les boucles et les tests, l’indentation de ce bloc d’instructions (qu’on appelle le corps de la fonction) est obligatoire.

    • Exemple:
      • Algorithme Codage Python

  5. Paramètres d’une fonction Python
      • Nous utilisons souvent les termes paramètres et arguments de manière interchangeable. Cependant, il existe une légère différence entre eux .
      • Les paramètres sont les variables utilisées dans la définition de la fonction, tandis que les arguments sont les valeurs que nous transmettons aux paramètres de la fonction.
    1. Fonction sans paramètres
      • exemple01
      • exemple02
    2. Une fonction avec deux paramètres
        • Pour définir une fonction avec plusieurs paramètres, il suffit d’inclure ceux-ci entre les parenthèses qui suivent le nom de la fonction, en les séparant à l’aide de virgules.
        • Lors de l’appel de la fonction, les arguments utilisés doivent être fournis dans le même ordre que celui des paramètres correspondants (en les séparant eux aussi à l’aide de virgules). Le premier argument sera affecté au premier paramètre, le second argument sera affecté au second paramètre, et ainsi de suite.

  6. Valeurs de retour d’une fonction Python
    • Dans les fonctions Python, vous pouvez ajouter l’instruction "return" pour renvoyer une valeur.
    • Habituellement, les fonctions renvoient une seule valeur. Mais si nécessaire, Python permet de renvoyer plusieurs valeurs en utilisant les types de collection tels que l’utilisation d’un tuple ou d’une liste.
    1. Fonction sans retour
      • Une fonction ne doit pas forcément renvoyer une valeur.
      • Une telle fonction sans paramètre est souvent connue comme une procédure dans la terminologie de la programmation.
      • Théoriquement chaque fonction en Python renvoie une valeur même si vous n’avez pas utilisé le mot clé return. Si une fonction ne retourne pas de valeur, par défaut, elle renvoie la valeur spéciale None.
    2. Une fonction qui retourne une liste
    3. Une fonction qui appelle une autre fonction

  7. Applications
    1. Activité
      • Ecrire l’algorithme d’une fonction minimum2() qui reçoit comme paramètres deux entiers a et b et qui retourne le minimum des deux. Traduire cet algorithme en Python.
      • Algorithme Codage Python

    2. Activité
      • Ecrire l’algorithme d’une fonction minimum3() qui reçoit comme paramètres 3 entiers et qui retourne le plus petit des trois.
      • On utilisera la procédure précédente minimum2(). Traduire cette fonction en Python puis réaliser le programme qui va afficher le plus petit des 3 entiers.
      • Algorithme Codage Python

    3. Activité
      • Quelle est la différence entre un print et un return à la fin du’une fonction ?
        • L’appel à print provoque un affichage, et l’exécution continue… comme c’est la fin de la fonction, celle-ci retourne par défaut None (en l’absence de return).
        • L’exécution du return provoque la sortie immédiate de la fonction en retournant la valeur fournie (ou None si aucune valeur n’est fournie).
    4. Activité
      • Définissez une fonction operations(a, b) qui calcule et retourne la somme a+b,la multiplication a*b,la division a/b et la différence a-b de ses deux paramètres.
      • Dans le corps de votre fonction saisir deux nombres flottants x et y, appelez votre fonction avec ces nombres et faites afficher le résultat des calculs issus de cette fonction sous la forme : « x et y ont pour somme s, multiplication m,division v et pour différence d » (en mettant bien sûr les valeurs numériques pour x, y, s ,m, v et d).




Sommaire du cours Python



Riadh HAJJI

Abonnez vous à notre chaîne YouTube gratuitement