IniziaInizia gratis

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

Visualizza il corso

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!')
  
Modifica ed esegui il codice