Kursinhalt
Fortgeschrittene Python-Techniken
Fortgeschrittene Python-Techniken
Herausforderung: Erstellen Sie Ihren Decorator
Swipe to start coding
Manchmal ist es notwendig, zu messen, wie lange eine bestimmte Funktion oder ein Codeabschnitt zur Ausführung benötigt. Dies kann erreicht werden, indem die verstrichene Zeit vom Anfang bis zum Ende der Funktion berechnet wird. Wenn Sie jedoch die Ausführungszeit mehrerer Funktionen messen müssen, wäre ein effizienterer Ansatz, einen einzelnen Dekorator zu schreiben und ihn auf diese Funktionen anzuwenden.
Wir entwickeln einen solchen Dekorator und sehen seine Effektivität:
- Sie müssen die Parameter definieren, die der Wrapper akzeptieren wird;
- Rufen Sie die
func
-Funktion mit den Argumenten *args und **kwargs auf und weisen Sie sie der Variablenresult
zu; - In der Zeile return ___ sollten Sie
result
zurückgeben; - Vervollständigen Sie den Dekorator, indem Sie die wrapper-Funktion zurückgeben;
- Wenden Sie den
time_it
-Dekorator auf diefactorial
-Funktion an; - Rufen Sie die
factorial
-Funktion auf (die jetzt mit time_it dekoriert ist) und drucken Sie ihren Rückgabewert aus.
Lösung
Danke für Ihr Feedback!
Herausforderung: Erstellen Sie Ihren Decorator
Swipe to start coding
Manchmal ist es notwendig, zu messen, wie lange eine bestimmte Funktion oder ein Codeabschnitt zur Ausführung benötigt. Dies kann erreicht werden, indem die verstrichene Zeit vom Anfang bis zum Ende der Funktion berechnet wird. Wenn Sie jedoch die Ausführungszeit mehrerer Funktionen messen müssen, wäre ein effizienterer Ansatz, einen einzelnen Dekorator zu schreiben und ihn auf diese Funktionen anzuwenden.
Wir entwickeln einen solchen Dekorator und sehen seine Effektivität:
- Sie müssen die Parameter definieren, die der Wrapper akzeptieren wird;
- Rufen Sie die
func
-Funktion mit den Argumenten *args und **kwargs auf und weisen Sie sie der Variablenresult
zu; - In der Zeile return ___ sollten Sie
result
zurückgeben; - Vervollständigen Sie den Dekorator, indem Sie die wrapper-Funktion zurückgeben;
- Wenden Sie den
time_it
-Dekorator auf diefactorial
-Funktion an; - Rufen Sie die
factorial
-Funktion auf (die jetzt mit time_it dekoriert ist) und drucken Sie ihren Rückgabewert aus.
Lösung
Danke für Ihr Feedback!