תרגול מס׳ 1
שיעור 8 מתוך 12 בקורס דקורטורים ב-Python של Coddy.
כדי לעטוף פונקציה שמספר הארגומנטים שלה אינו ידוע, השתמשו ב־
def decorator(func):
def wrapper(*args, **kwargs):
result = func(*args, **kwargs)
return result
return wrapperאתגר
קלכתבו דקורטור בשם timing_decorator שמדפיס את זמן הביצוע של פונקציה בשניות, מעוגל לספרה אחת אחרי הנקודה העשרונית.
לדוגמה, אם לפונקציה בשם foo שעליה הוחל הדקורטור לוקח 2.5 שניות להתבצע, הדקורטור צריך להדפיס "foo took 2.5 seconds to execute".
אפשר להשתמש בספרייה time כדי לקבל את השעה הנוכחית,
import time
start = time.time()
# Some operations
end = time.time()
diff = end - start # execution time of "operations"נסו בעצמכם
כל השיעורים ביחידה דקורטורים ב-Python
תרגלו בעצמכם: קומפיילר Python אונליין