0Pricing
Learn AI with Python · Lektion

Dekoratoren

Lernen Sie, wie Sie Funktionen mit Dekoratoren ändern oder erweitern.

Dekoratoren ist eine kostenlose Learn AI with Python-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 Learn AI with Python-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn AI with Python-Kurs umfasst insgesamt 5 Lektionen.

Einführung in Dekoratoren

Einführung in Dekoratoren

Dekoratoren sind eine leistungsfähige Funktion in 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.

Dekoratoren — Illustration 1

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()

So funktionieren Dekoratoren

So funktionieren Dekoratoren

Wenn Sie einen Dekorator verwenden, ersetzt Python die ursprüngliche Funktion durch die Wrapper-Funktion, die der Dekorator zurückgibt.

# 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 übernehmen, 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 von oben nach unten aufgeführt sind:

# 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 Decorators erstellen

Parametrisierte Decorators erstellen

Parametrisierte Decorators 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 Decorators

Häufige Anwendungsfälle für Decorators

Decorators werden häufig für folgende Zwecke verwendet:

  • Funktionsaufrufe und ihre Argumente protokollieren.
  • Die Ausführungszeit von Funktionen messen.
  • Zugriffskontrolle, zum Beispiel durch Überprüfen von Benutzerberechtigungen.
  • Ergebnisse zur Leistungsverbesserung zwischenspeichern.

Integrierte Decorators in Python

Integrierte Decorators in Python

Python stellt einige integrierte Decorators 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 Namen und den Docstring der ursprünglichen Funktion nicht beizubehalten (verwenden Sie functools.wraps).
  • Dekoratoren unnötigerweise für einfache Aufgaben 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 Decorators sind und wie sie in Python funktionieren.
  • Wie Sie einfache, parametrisierte und verkettete Decorators erstellen und verwenden.
  • Häufige Anwendungsfälle und integrierte Decorators in Python.

Gut gemacht! Wechseln wir zum nächsten Thema.

Dekoratoren — Illustration 11

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 Learn AI with Python-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn AI with Python-Kurs umfasst insgesamt 5 Lektionen.

Was lerne ich in „Dekoratoren“?

Lernen Sie, wie Sie Funktionen mit Dekoratoren ändern oder erweitern. Du übst Learn AI with Python 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 Learn AI with Python zu starten?

Keine Vorkenntnisse erforderlich. Learn AI with Python 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 Learn AI with Python-Lektion Code schreiben und ausführen?

Ja. Jede Learn AI with Python-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

  1. Dekoratoren
  2. Generatoren
  3. Context Manager (with-Anweisungen)
  4. Comprehensions (Listen, Sets und Dictionaries)
  5. Iteratoren und Iterables
← Zurück zu Learn AI with Python