Kontrola návratového typu
Flexibilita Pythonu v práci s datovými typy bývá označována za jednu z hlavních výhod tohoto jazyka. Někdy ale může způsobit problémy, pokud si nevšimneš nesprávného datového typu. Aby tvůj kód dělal přesně to, co od něj očekáváš, rozhodneš se explicitně kontrolovat návratové typy ve všech svých funkcích a ověřovat, že vracejí správný typ. Za tímto účelem vytvoříš dekorátor, který zkontroluje, zda je návratový typ dekorované funkce správný.
Poznámka: assert je klíčové slovo, které slouží k ověření, zda je něco pravda. Pokud napíšeš assert podmínka a podmínka je True, funkce nic neudělá. Pokud je podmínka False, funkce vyvolá chybu. Tento typ chyby se nazývá AssertionError.
Toto cvičení je součástí kurzu
Writing Functions in Python
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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!')