Den Rückgabetyp prüfen
Pythons Flexibilität bei Datentypen wird oft als Vorteil der Sprache genannt. Das kann aber problematisch werden, wenn falsche Datentypen unbemerkt bleiben. Du hast entschieden, dass du zur Sicherheit in all deinen Funktionen die Rückgabetypen explizit prüfst und sicherstellst, dass sie liefern, was du erwartest. Dafür erstellst du einen Decorator, der prüft, ob der Rückgabetyp der dekorierten Funktion korrekt ist.
Hinweis: assert ist ein Schlüsselwort, mit dem du testen kannst, ob etwas wahr ist. Wenn du assert condition schreibst und condition True ist, passiert nichts. Wenn condition False ist, wirft diese Anweisung einen Fehler. Der Fehlertyp heißt AssertionError.
Diese Übung ist Teil des Kurses
Funktionen in Python schreiben
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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!')