Verifică tipul returnat
Flexibilitatea Python în ceea ce privește tipurile de date este adesea menționată ca unul dintre avantajele acestui limbaj. Uneori, însă, poate crea probleme dacă tipurile incorecte trec neobservate. Ai decis că, pentru a te asigura că codul tău face exact ceea ce îți dorești, vei verifica explicit tipurile returnate în toate funcțiile tale și te vei asigura că returnează ce te aștepți. Pentru asta, vei crea un decorator care verifică dacă tipul returnat de funcția decorată este corect.
Notă: assert este un cuvânt cheie pe care îl poți folosi pentru a testa dacă o condiție este adevărată. Dacă scrii assert condition și condition este True, funcția nu face nimic. Dacă condition este False, funcția ridică o eroare. Tipul erorii ridicate se numește AssertionError.
Acest exercițiu face parte din cursul
Scrierea funcțiilor în Python
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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!')