Vérifier le type de retour
La flexibilité de Python autour des types de données est généralement citée comme l'un des avantages du langage. Cependant, cela peut parfois poser des problèmes si des types de données incorrects passent inaperçus. Vous avez décidé que pour vous assurer que votre code fait exactement ce que vous voulez qu'il fasse, vous vérifierez explicitement les types de retour de toutes vos fonctions et vous vous assurerez qu'elles renvoient ce que vous attendez d'elles. Pour ce faire, vous allez créer un décorateur qui vérifie si le type de retour de la fonction décorée est correct.
Remarque: assert
est un mot-clé que vous pouvez utiliser pour vérifier si quelque chose est vrai. Si vous tapez assert condition
et que condition
est True
, cette fonction ne fait rien. Si condition
est False
, cette fonction génère une erreur. Le type d'erreur qu'il soulève est appelé AssertionError
.
Cet exercice fait partie du cours
Écrire des fonctions en Python
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
def returns_dict(func):
# Complete the returns_dict() decorator
def wrapper(____):
result = ____
assert type(result) == dict
return result
____
@returns_dict
def foo(value):
return value
try:
print(foo([1,2,3]))
except AssertionError:
print('foo() did not return a dict!')