Controlla il tipo di ritorno
La flessibilità di Python sui tipi di dato è spesso indicata come uno dei vantaggi del linguaggio. A volte, però, può creare problemi se passano inosservati tipi di dato errati. Hai deciso che, per assicurarti che il tuo codice faccia esattamente ciò che vuoi, controllerai esplicitamente i tipi di ritorno in tutte le tue funzioni e verificherai che restituiscano ciò che ti aspetti. Per farlo, creerai un decorator che controlla se il tipo di ritorno della funzione decorata è corretto.
Nota: assert è una parola chiave che puoi usare per verificare se qualcosa è vero. Se scrivi assert condition e condition è True, questa istruzione non fa nulla. Se condition è False, solleva un errore. Il tipo di errore sollevato si chiama AssertionError.
Questo esercizio fa parte del corso
Scrivere funzioni in Python
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
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!')