Assert - Protéger son programme

Renforcer la précondition

Jusqu'à présent, nous avons considéré que l'utilisateur d'un programme était intelligent et respectait les préconditions indiquées dans le docstring... mais ce n'est pas toujours le cas.

Il est possible de renforcer cette précondition en la testant directement au début du code de la fonction.

Pour cela, on utilise l'instruction assert :

1
assert condition_à_respecter, "Message d'erreur sinon"

Cette instruction sera surtout utile pour tester le type des variables entrées en paramètres.

1
assert type(a) == int, "J'ai dit un entier pour a"

On pourra donc utiliser la méthode isinstance() définit ci-dessous :

MéthodeTest de type

La fonction isinstance(), définie par défaut en Python, permet de tester le type d'une variable. Elle renvoie un booléen.

1
>>> a = 2
2
>>> b = 'a'
3
4
>>> isinstance(a, int)
5
6
>>> isinstance(a, float)
7
8
>>> isinstance(b, str)