Menu
Coddy logo textTech

Einführung in Dekoratoren

Teil des Abschnitts Object Oriented Programming der Python-Journey von Coddy — Lektion 9 von 64.

Dekoratoren sind eine Möglichkeit, Funktionen und Klassen zu modifizieren oder zu erweitern, ohne deren ursprünglichen Code zu ändern. Sie verwenden das @-Symbol.

Hier ist ein Beispiel für einen einfachen Decorator: 

def my_decorator(func):
    def wrapper():
        print("Before function runs")
        func()
        print("After function runs")
    return wrapper

Wenden Sie den Decorator mit @ an:

@my_decorator
def say_hello():
    print("Hello!")

Rufen Sie die dekorierte Funktion auf:

say_hello()

Ausgabe:

Before function runs
Hello!
After function runs

Der @my_decorator entspricht dem Schreiben von:

def say_hello():
    print("Hello!")

say_hello = my_decorator(say_hello)

Aber die @ Syntax ist viel sauberer und einfacher zu lesen.

Kernpunkt: Decorators umschließen Funktionen, um zusätzliche Funktionalität hinzuzufügen, ohne den ursprünglichen Funktionscode zu ändern

Spickzettel

Dekoratoren modifizieren oder erweitern Funktionen, ohne deren ursprünglichen Code zu ändern, unter Verwendung des @-Symbols.

Grundlegende Struktur eines Dekorators:

def my_decorator(func):
    def wrapper():
        print("Before function runs")
        func()
        print("After function runs")
    return wrapper

Dekorator anwenden mit @:

@my_decorator
def say_hello():
    print("Hello!")

Die @my_decorator-Syntax entspricht:

say_hello = my_decorator(say_hello)

Probier es selbst

Diese Lektion enthält keine Programmieraufgabe.

quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Object Oriented Programming