Donner des préconditions
- Fiche de cours
- Quiz
- Profs en ligne
- Videos
- Application mobile
- Commenter ou documenter une fonction ou un programme.
- Donner des préconditions.
- Pour éviter des erreurs, on documente les fonctions en donnant des préconditions.
- Une précondition est une description des conditions d’utilisation de la fonction.
- Prévoir les erreurs de l’utilisateur et leur associer une réponse, c’est effectuer une programmation dite défensive.
- Fonctions
- Opérateurs mathématiques en Python
Pour éviter des erreurs, on commente les fonctions en fournissant une documentation : les préconditions font partie de cette documentation.
Python permet d’obtenir la documentation de n’importe quelle fonction par la commande help(nom_de_la_fonction).
On peut donc documenter ses fonctions pour indiquer ce qu’elle est censée effectuer, quels doivent être ses paramètres, etc.
La fonction range permet de créer une liste de nombres entiers de valeurs croissantes.
help(range) donne la documentation suivante pour la fonction range : on sait ainsi que range retourne une séquence d’entiers, depuis un départ que l’on prend jusqu’à un dernier que l’on ne prend pas.
Pour commenter une fonction que l’on vient de créer, on peut écrire une chaine de caractères entre triple double quote ( " ), en la plaçant au début du corps de la fonction. Cela permet d’indiquer à Python ce qu’il va devoir afficher comme documentation.
Python répondra alors en donnant le nom de la fonction avec ses paramètres formels (variables) s’il y en a, puis à la ligne le commentaire avec une indentation.
def euclid(a,b): | Le mot clé def définit une fonction nommée euclid, qui prend pour paramètres a et b. |
"""calcul du pgcd par l’algorithme d’Euclide""" | Commentaire de la fonction. |
assert a==0 | Corps de la fonction euclid. |
while b!=0: | |
if a>b: | |
a=a-b | |
else: | |
b=b-a | |
return a | |
help(euclid) | Dans le shell, on demande l’affichage du commentaire en tapant help suivi du nom de la fonction entre parenthèses.. |
Help on funtion euclid in module_main_: | Affichage du commentaire dans le shell. |
euclid(a,b) | |
calcul du pgcd par l’algorithme d’Euclide |
On utilise cette documentation pour indiquer ce qu’on appelle des préconditions.
Cela nécessite d’avoir réfléchi à tous les cas possibles.
La documentation associée à la fonction euclid nous donner les préconditions suivantes : a et b doivent être des entiers naturels, et on doit aussi avoir a > 0.
L’utilisateur d’un programme ou d’une fonction peut ne pas lire la documentation de la fonction et donc générer des erreurs. Pour éviter cela, on peut utiliser une programmation dite défensive, c’est-à-dire que l’on prévoit les erreurs que l’utilisateur peut commettre et on les intercepte.
Pour utiliser une programmation défensive, on utilise la commande assert de Python. La commande assert condition indique ainsi que Python ne continuera le programme que si la condition est réalisée, sinon une erreur est mentionnée.
On peut aussi ajouter un message indiquant la raison pour laquelle il y a une erreur. Il suffit de rajouter assert condition, "message" après.
Vous avez obtenu75%de bonnes réponses !