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

Langkah 3: pembungkus pemasaan

English · Dansk · Bahasa Malaysia

Pembungkus membaca jam sebelum dan selepas panggilan, lalu mencetak perbezaannya:

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

Jalankannya dengan python -m speed_calc.lecture_steps 3.

Apa yang kita peroleh

  • Sebuah decorator boleh menjalankan kod sebelum dan selepas fungsi tanpa mengubah fungsi itu.
  • Pembungkus memulangkan hasil fungsi, jadi fungsi yang didekorasi masih berfungsi seperti dahulu.
  • make_speed_calc_decorator(clock, output) menerima jam dan output sebagai parameter. Ujian memberinya jam palsu, jadi ia menyemak nilai yang tepat dan tidak pernah menunggu masa sebenar.
  • Format teks terletak dalam constants.py, satu-satunya tempat untuk pemalar.