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
1.2 KiB
1.2 KiB
Langkah 2: rangka decorator
English · Dansk · Bahasa Malaysia
Decorator ialah fungsi yang menerima sebuah fungsi dan memulangkan fungsi lain. Rangka ini hanya mengumumkan panggilan:
def skeleton(function):
@functools.wraps(function)
def wrapper(*args, **kwargs):
print(f"calling {function.__name__}")
return function(*args, **kwargs)
return wrapper
Jalankannya dengan python -m speed_calc.lecture_steps 2.
Apa yang kita peroleh
- Fungsi ialah nilai: anda boleh menghantarnya kepada fungsi lain dan memulangkannya.
wrapperdi dalam ialah satu closure; ia mengingatifunctionselepasskeletonselesai dipulangkan.*args, **kwargsmembolehkan pembungkus menerima argumen bagi sebarang fungsi dan meneruskannya.functools.wrapsmengekalkan nama dan docstring asal, jadi fungsi yang didekorasi masih menyebutfast_function.@namedi atas sebuah fungsi ialah singkatan bagifunction = name(function).
