Sobes.tech
Junior — Middle

Erklären Sie das Konzept der Dekorateure in Python und wie sie verwendet werden, um das Verhalten von Funktionen zu ändern.

sobes.tech KI

Antwort von AI

Decorators in Python sind Funktionen, die eine andere Funktion annehmen und eine neue Funktion mit verändertem oder erweitertem Verhalten zurückgeben, ohne den Quellcode der dekorierten Funktion zu ändern.

Sie werden häufig verwendet für:

  • Protokollierung von Aufrufen
  • Zugriffskontrollprüfungen
  • Zwischenspeicherung von Ergebnissen
  • Messung der Ausführungszeit

Ein einfaches Beispiel für einen Decorator, der eine Nachricht vor und nach dem Funktionsaufruf ausgibt:

def decorator(func):
    def wrapper(*args, **kwargs):
        print("Vor dem Funktionsaufruf")
        result = func(*args, **kwargs)
        print("Nach dem Funktionsaufruf")
        return result
    return wrapper

@decorator
def sag_hallo(name):
    print(f"Hallo, {name}!")

sag_hallo("Welt")

Die Ausgabe wird sein:

Vor dem Funktionsaufruf
Hallo, Welt!
Nach dem Funktionsaufruf

Auf diese Weise ermöglichen Decorators, das Verhalten von Funktionen dynamisch zu ändern, ohne ihren Quellcode zu modifizieren.