Dekoratoren
Lernen Sie, wie Sie Dekoratoren verwenden, um Funktionen zu verändern oder zu erweitern.
Dekoratoren ist eine kostenlose Python Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 5. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Python Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Python Academy-Kurs umfasst insgesamt 5 Lektionen.
Einführung in Dekoratoren
Einführung in Dekoratoren
Dekoratoren sind eine leistungsstarke Funktion von Python, mit der Sie das Verhalten von Funktionen oder Methoden ändern können. Sie werden häufig verwendet, um Funktionen zusätzliche Funktionalität hinzuzufügen, ohne deren Code zu ändern.
In dieser Lektion lernen Sie, was Dekoratoren sind, wie Sie sie verwenden und wie Sie eigene Dekoratoren erstellen.

Was ist ein Dekorator?
Was ist ein Dekorator?
Ein Dekorator ist eine Funktion, die eine andere Funktion als Eingabe übernimmt und eine neue Funktion mit zusätzlicher Funktionalität zurückgibt. Er wird häufig mit der Syntax @decorator_name verwendet.
# Basic example of a decorator
def decorator(func):
def wrapper():
print("Before the function call")
func()
print("After the function call")
return wrapper
@decorator
def say_hello():
print("Hello!")
say_hello()Funktionsweise von Dekoratoren
Funktionsweise von Dekoratoren
Wenn Sie einen Dekorator verwenden, ersetzt Python die ursprüngliche Funktion durch die vom Dekorator zurückgegebene Wrapper-Funktion.
# How decorators work
def decorator(func):
def wrapper():
print("Wrapper called")
func()
return wrapper
@decorator
def greet():
print("Greetings!")
print(greet.__name__) # Outputs: wrapper
greet()Dekoratoren mit Argumenten verwenden
Dekoratoren mit Argumenten verwenden
Dekoratoren können mit Funktionen arbeiten, die Argumente entgegennehmen, indem Sie *args und **kwargs in der Wrapper-Funktion verwenden:
# Decorator for functions with arguments
def decorator(func):
def wrapper(*args, **kwargs):
print(f"Arguments: {args}, {kwargs}")
return func(*args, **kwargs)
return wrapper
@decorator
def add(a, b):
return a + b
print(add(3, 5))Mehrere Dekoratoren verketten
Mehrere Dekoratoren verketten
Sie können mehrere Dekoratoren auf eine einzelne Funktion anwenden. Sie werden in der Reihenfolge angewendet, in der sie erscheinen, von oben nach unten:
# Chaining multiple decorators
def decorator1(func):
def wrapper():
print("Decorator 1")
func()
return wrapper
def decorator2(func):
def wrapper():
print("Decorator 2")
func()
return wrapper
@decorator1
@decorator2
def greet():
print("Hello!")
greet()Parametrisierte Dekoratoren erstellen
Parametrisierte Dekoratoren erstellen
Parametrisierte Dekoratoren akzeptieren Argumente und ermöglichen eine flexiblere Funktionalität:
# Parameterized decorator
def repeat(times):
def decorator(func):
def wrapper(*args, **kwargs):
for _ in range(times):
func(*args, **kwargs)
return wrapper
return decorator
@repeat(3)
def say_hello():
print("Hello!")
say_hello()Häufige Anwendungsfälle für Dekoratoren
Häufige Anwendungsfälle für Dekoratoren
Dekoratoren werden häufig für Folgendes verwendet:
- Funktionsaufrufe und ihre Argumente zu protokollieren.
- Die Ausführungszeit von Funktionen zu messen.
- Die Zugriffskontrolle zu realisieren (z. B. durch das Prüfen von Benutzerberechtigungen).
- Ergebnisse zur Verbesserung der Leistung zwischenzuspeichern.
In Python integrierte Dekoratoren
In Python integrierte Dekoratoren
Python stellt einige integrierte Dekoratoren bereit, darunter:
@staticmethod: Definiert eine statische Methode.@classmethod: Definiert eine Klassenmethode.@property: Definiert eine Property-Methode.
Häufige Fehler bei Dekoratoren
Häufige Fehler bei Dekoratoren
Hier sind einige Fehler, die Sie vermeiden sollten:
- Den ursprünglichen Namen und Docstring der Funktion nicht beizubehalten (verwenden Sie
functools.wraps). - Dekoratoren für einfache Aufgaben unnötigerweise zu verwenden.
- Zu vergessen, Argumente in der Wrapper-Funktion zu verarbeiten.
Was haben Sie gelernt?
Was haben Sie gelernt?
In dieser Lektion haben Sie Folgendes gelernt:
- Was Dekoratoren sind und wie sie in Python funktionieren.
- Wie Sie einfache, parametrisierte und verkettete Dekoratoren erstellen und verwenden.
- Häufige Anwendungsfälle und integrierte Dekoratoren in Python.
Sehr gut! Fahren Sie mit dem nächsten Thema fort.

Häufig gestellte Fragen
Ist die Lektion „Dekoratoren“ kostenlos?
Ja — der vollständige Text von „Dekoratoren“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Python Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Python Academy-Kurs umfasst insgesamt 5 Lektionen.
Was lerne ich in „Dekoratoren“?
Lernen Sie, wie Sie Dekoratoren verwenden, um Funktionen zu verändern oder zu erweitern. Du übst Python Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Python Academy zu starten?
Keine Vorkenntnisse erforderlich. Python Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 5.
Wie lange dauert die Lektion „Dekoratoren“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Python Academy-Lektion Code schreiben und ausführen?
Ja. Jede Python Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Dekoratoren
- Generatoren
- Kontextmanager (with-Anweisungen)
- Comprehensions (für Listen, Mengen und Wörterbücher)
- Iteratoren und Iterables