Erste SchritteKostenlos loslegen

Drucke die Rückgabeart

Du debuggst gerade ein Paket, an dem du mit deinen Freunden gearbeitet hast. Irgendetwas Seltsames passiert mit den Daten, die von einer deiner Funktionen zurückgegeben werden, aber du bist dir nicht einmal sicher, welche Funktion das Problem verursacht. Du weißt, dass sich manchmal Fehler in deinen Code einschleichen können, wenn du von einer Funktion erwartest, dass sie etwas zurückgibt, und sie etwas anderes zurückgibt. Wenn du zum Beispiel von einer Funktion erwartest, dass sie ein Numpy-Array zurückgibt, sie aber eine Liste zurückgibt, kann es zu unerwartetem Verhalten kommen. Um sicherzustellen, dass dies nicht die Ursache des Problems ist, schreibst du einen Decorator, print_return_type(), der den Typ der Variablen ausgibt, die bei jedem Aufruf einer Funktion, die er dekoriert, zurückgegeben wird.

Diese Übung ist Teil des Kurses

Funktionen in Python schreiben

Kurs anzeigen

Anleitung zur Übung

  • Erstelle eine verschachtelte Funktion, wrapper(), die die neue dekorierte Funktion wird.
  • Rufe die Funktion auf, die dekoriert werden soll.
  • Gib die neue dekorierte Funktion zurück.

Interaktive Übung zum Anfassen

Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.

def print_return_type(func):
  # Define wrapper(), the decorated function
  ____ ____(____, ____):
    # Call the function being decorated
    result = ____(____, ____)
    print('{}() returned type {}'.format(
      func.__name__, type(result)
    ))
    return result
  # Return the decorated function
  return ____
  
@print_return_type
def foo(value):
  return value
  
print(foo(42))
print(foo([1, 2, 3]))
print(foo({'a': 42}))
Bearbeiten und Ausführen von Code