1
Step 3 Timing Wrapper da
Tirsvad edited this page 2026-11-06 06:49:18 +01:00

Trin 3: tidtagnings-wrapperen

English · Dansk · Bahasa Malaysia

Wrapperen aflæser uret før og efter kaldet og udskriver forskellen:

start = clock()
result = function(*args, **kwargs)
seconds = clock() - start
output(RESULT_TEMPLATE.format(name=function.__name__, seconds=seconds))
return result

Step 3: the timing wrapper

Kør den med python -m speed_calc.lecture_steps 3.

Hvad vi lærte

  • En dekorator kan køre kode før og efter funktionen uden at ændre funktionen.
  • Wrapperen returnerer funktionens resultat, så den dekorerede funktion stadig virker som før.
  • make_speed_calc_decorator(clock, output) tager uret og outputtet som parametre. Testene giver den et falsk ur, så de kontrollerer præcise værdier og aldrig venter på rigtig tid.
  • Tekstformatet ligger i constants.py, det ene sted for konstanter.