Files
Tirsvad 0227b109d9 Add wiki in English, Danish and Bahasa Malaysia
Six pages and a sidebar, each lecture step with its screenshot and what it
taught; review record RC-008.

Refs #14
Refs #15
Refs #16
Refs #17
Refs #18
2026-11-06 13:45:44 +08:00

1.0 KiB

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.