Kontrollera returtypen
Pythons flexibilitet kring datatyper brukar lyftas fram som en av språkets styrkor. Det kan dock ställa till problem om felaktiga datatyper går oupptäckta. Du har bestämt dig för att explicit kontrollera returtyperna i alla dina funktioner, för att säkerställa att koden gör precis det du förväntar dig. För att åstadkomma det ska du skapa en dekorator som kontrollerar om returtypen hos den dekorerade funktionen är korrekt.
Obs: assert är ett nyckelord som du kan använda för att testa om något är sant. Om du skriver assert villkor och villkor är True händer ingenting. Om villkor är False genereras ett fel. Feltypen som genereras kallas AssertionError.
Den här övningen är en del av kursen
Att skriva funktioner i Python
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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!')