Sprawdzanie typu zwracanej wartości
Elastyczność Pythona w kwestii typów danych jest często wymieniana jako jedna z zalet tego języka. Może jednak powodować problemy, gdy nieprawidłowe typy danych pozostają niezauważone. Postanowiłeś jawnie sprawdzać typy zwracanych wartości we wszystkich swoich funkcjach, żeby mieć pewność, że kod działa dokładnie tak, jak tego oczekujesz. W tym celu stworzysz dekorator, który weryfikuje, czy typ zwracanej wartości udekorowanej funkcji jest poprawny.
Uwaga: assert to słowo kluczowe, które pozwala sprawdzić, czy dany warunek jest spełniony. Jeśli wpiszesz assert warunek i warunek ma wartość True, instrukcja nie robi nic. Jeśli warunek ma wartość False, zostaje zgłoszony błąd typu AssertionError.
To ćwiczenie jest częścią kursu
Pisanie funkcji w Pythonie
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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!')