Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Praktische Beispiele für die Verwendung von Decorators | Decorators
Fortgeschrittene Python-Techniken
course content

Kursinhalt

Fortgeschrittene Python-Techniken

Fortgeschrittene Python-Techniken

1. Packen und Entpacken
2. Argumente in Funktionen
3. Funktion als Argument
4. Variablenbereich
5. Decorators

book
Praktische Beispiele für die Verwendung von Decorators

Dekoratoren in Python sind ein leistungsstarkes Werkzeug zur Modifizierung des Verhaltens von Funktionen oder Methoden. Die häufigsten Anwendungen sind Schlafen, Zeitvalidierung und Protokollierung.

1. Schlaf-Dekorator

Dieser Dekorator lässt die Funktion eine bestimmte Zeit warten, bevor sie ausgeführt wird.

1234567891011121314151617
import time def sleep_decorator(seconds): def decorator(func): def wrapper(*args, **kwargs): print(f"Sleeping for {seconds} seconds before executing '{func.__name__}'") time.sleep(seconds) return func(*args, **kwargs) return wrapper return decorator @sleep_decorator(2) def my_function(): print("Function executed!") # Usage my_function()
copy

2. Validierungs-Dekorator

Dieser Dekorator überprüft, ob die Eingaben einer Funktion bestimmte Kriterien erfüllen.

1234567891011121314151617
def validate_decorator(func): def wrapper(number): if not isinstance(number, int) or number < 0: raise ValueError("Input must be a non-negative integer") return func(number) return wrapper @validate_decorator def factorial(n): if n == 0: return 1 else: return n * factorial(n - 1) # Usage print(factorial(5)) # factorial(-1) # This will raise an error
copy

3. Zeitmessungs-Dekorator

Dieser Dekorator misst die Ausführungszeit einer Funktion. Wir haben ihn bereits im vorherigen Kapitel verwendet.

12345678910111213141516171819
import time def timing_decorator(func): def wrapper(*args, **kwargs): start_time = time.time() result = func(*args, **kwargs) end_time = time.time() print(f"'{func.__name__}' executed in {end_time - start_time} seconds") return result return wrapper @timing_decorator def some_function(): time.sleep(1) # Simulating a task print("Function completed") # Usage some_function()
copy

Der Dekorator für Login-Verifizierung verwendet zusätzliche Bibliotheken und wird in der Webentwicklung eingesetzt, daher ist es sinnvoller, diesen Dekorator im Kontext der Website-Erstellung zu betrachten.

Wie gesagt, Dekoratoren sind ein komplexes Thema in Python und erfordern manchmal mehr Übung, um dieses Thema vollständig zu verstehen. Sie sind auf dem richtigen Weg, um eine Programmierer-Mentalität aufzubauen.

Laden Sie die Notizen zum Kurs herunter. 😉

1. Was wird die Ausgabe des folgenden Codes sein?

2. Was wird die Ausgabe des folgenden Codes sein?

Was wird die Ausgabe des folgenden Codes sein?

Was wird die Ausgabe des folgenden Codes sein?

Wählen Sie die richtige Antwort aus

Was wird die Ausgabe des folgenden Codes sein?

Was wird die Ausgabe des folgenden Codes sein?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 5. Kapitel 7
We're sorry to hear that something went wrong. What happened?
some-alt