Vérifier le type de retour
La souplesse de Python quant aux types de données est souvent citée comme l'un des avantages du langage. Cela peut toutefois causer des problèmes si des types incorrects passent inaperçus. Vous avez décidé que, pour vous assurer que votre code fait exactement ce que vous voulez, vous allez vérifier explicitement les types de retour dans toutes vos fonctions et confirmer qu'elles retournent bien ce à quoi vous vous attendez. 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 une condition est vraie. Si vous écrivez assert condition et que condition est True, cette instruction ne fait rien. Si condition est False, elle déclenche une erreur. Le type d'erreur déclenché s'appelle un AssertionError.
Cette activité fait partie du cours
Écrire des fonctions en Python
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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!')