Python verwendet 3.6.0.
Bei stop_watch.py
print(f"{func.__name__}Ist{elapsed_time}Es dauerte eine Sekunde")
Diese Notation funktioniert jedoch nur, wenn sie 3.6.0 oder höher ist. Bitte schreiben Sie entsprechend Ihrer eigenen Version um. Die anderen Teile sind nicht bestätigt, aber ich denke, es wird mit 3x funktionieren.
Verwenden Sie grundsätzlich die im folgenden Artikel beschriebene Methode, um die Zeit mit Python zu messen.
[Python] Messen und Anzeigen der Verarbeitungszeit Python> Messung der Verarbeitungszeit> time.time () --start_time Funktion, die die Verarbeitungszeit einer Methode mit Python misst
Sie können die Zeit auch mit der oben beschriebenen Methode messen. Die zu schreibende Logik und die Zeitmessung werden jedoch kombiniert.
Daher gibt es eine clevere Möglichkeit, Logik und Zeitmessung vollständig zu trennen, daher werde ich sie teilen.
stop_watch.py
from functools import wraps
import time
def stop_watch(func) :
@wraps(func)
def wrapper(*args, **kargs) :
start = time.time()
result = func(*args,**kargs)
elapsed_time = time.time() - start
print(f"{func.__name__}Ist{elapsed_time}Es dauerte eine Sekunde")
return result
return wrapper
Der obige Code ist der Prozess zum Messen der Zeit. Für diesen Code wird ein Dekorateur verwendet. Die eigentliche Verarbeitung wird in "func" gespeichert, die Messstartzeit wird in "start" gespeichert und die für die Verarbeitung benötigte Zeit wird in "elaspsed_time" gespeichert. Wenn Sie mehr über Dekorateure erfahren möchten, schreiben Sie bitte ausführlich in diesen Artikel. 12 Schritte zum Verständnis von Python-Dekoratoren
test.py
from stop_watch import stop_watch
@stop_watch
def func() :
j=0
for i in range(99999999) :
j+=i
print(j)
func()
Die tatsächliche Verwendung ist wie folgt.
Schreiben Sie einfach "@ stop_watch" über die Funktion, mit der Sie die Zeit messen möchten.
(* Es wird davon ausgegangen, dass sich die obige stop_watch.py
und die folgende test.py
im selben Verzeichnis (Ordner) befinden. Wenn sie unterschiedlich sind, schreiben Sie den Importvorgang bitte entsprechend um.)
Ergebnis ist,
result
4999999850000001
func ist 6.330682277679443 Es dauerte 2 Sekunden
Wird angezeigt. Das Ergebnis der Funktion, deren Zeit Sie messen möchten, wird in der ersten Zeile angezeigt. Der Name der Funktion, deren Zeit Sie messen möchten, und die Zeit, die zur Ausführung dieser Funktion benötigt wird, werden in der zweiten Zeile angezeigt.
Es hat nichts mit Logik zu tun, aber wenn Sie ein Ergebnis sehen möchten, wird der Dekorateur glänzen. Diesmal war es eine Aufgabe, die Zeit zu messen. Ich hoffe es hilft etwas.
Recommended Posts