Decorators Usage
Lektion 5 von 12 im Kurs Python-Dekoratoren von Coddy.
In Python ist ein Decorator eine Funktion, die eine andere Funktion als Eingabe entgegennimmt und das Verhalten der Eingabefunktion erweitert, ohne deren Code explizit zu ändern. Decorators sind eine leistungsstarke Methode, um das Verhalten von Funktionen auf flexible und wiederverwendbare Weise zu modifizieren oder zu verbessern.
Hier ist ein Beispiel für eine einfache Decorator-Funktion:
def my_decorator(func):
def wrapper():
print("Before the function is called.")
func()
print("After the function is called.")
return wrapperIn diesem Beispiel nimmt die Funktion my_decorator eine andere Funktion func als Eingabe entgegen und gibt eine neue Funktion namens wrapper zurück.
Die wrapper-Funktion fügt ein gewisses Verhalten hinzu, bevor und nachdem die Funktion func aufgerufen wird.
Aufgabe
EinfachSchreiben Sie eine Decorator-Funktion namens debug, die eine Funktion func als Eingabe erhält und eine neue Funktion zurückgibt, die bei jedem Aufruf den Namen von func und den Rückgabewert von func ausgibt.
Um den Namen von
funczu erhalten, verwenden Siefunc.__name__.
Hier ist ein Beispiel für die Verwendung des debug-Decorators:
def hello():
return "Hello"
debug_hello = debug(hello)
debug_hello()In diesem Beispiel verwenden wir den debug-Decorator, um die Funktion hello zu umschließen und eine neue Funktion namens debug_hello zu erstellen. Wenn wir debug_hello() aufrufen, gibt der Decorator Folgendes aus:
Calling hello
hello returned: HelloSie können davon ausgehen, dass alle an
debugübergebenen Funktionen Funktionen ohne Argumente sind.
Probier es selbst
Alle Lektionen in Python-Dekoratoren
Übe selbstständig: Online-Python-Compiler