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 pratico interattivo
Prova a risolvere questo esercizio completando il 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!')