Abschnitt 4. Kapitel 8
single
Herausforderung: Logging- und Timing-Dekoratoren
Swipe um das Menü anzuzeigen
Aufgabe
Wischen, um mit dem Codieren zu beginnen
- Fügen Sie
@functools.wraps(func)über jeden Wrapper ein. - Vervollständigen Sie in
log_callsdie Variablelog_message, sodass der Funktionsname, die Positionsargumente und die Schlüsselwortargumente ausgegeben werden. - Speichern Sie in
time_executionvor dem Funktionsaufruf die Startzeit mittime.time(). - Speichern Sie nach dem Funktionsaufruf die Endzeit.
- Berechnen und geben Sie die Ausführungszeit aus.
- Geben Sie sowohl die Log- als auch die Zeitmessungsnachrichten aus.
- Reihenfolge der Dekoratoren:
log_callsaußen,time_executioninnen.
Erwartetes Ergebnis:
Wenn Sie multiply(5, 7) aufrufen, sollte die Ausgabe wie folgt aussehen:
Calling function 'multiply' with args=(5, 7), kwargs={}
Function 'multiply' executed in X.XXXXXX seconds
35
Wobei X.XXXXXX die Ausführungszeit auf sechs Dezimalstellen formatiert ist. Die Funktion sollte 35 zurückgeben.
Lösung
War alles klar?
Danke für Ihr Feedback!
Abschnitt 4. Kapitel 8
single
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen