Nested decorator with args

תגיות:

הגעתי בתרגיל ההשלמה למצב שאני צריך לשים דקורייטור על דקורייטור אחר, ולהעביר ארגומנט לדקורייטור התחתון מהעליון. לא משנה מה ניסיתי לעשות, אני לא מצליח לגרום לזה לעבוד בלי להכניס פיזית ארגומנט לדקורייטור התחתון.
אם הבנתי נכון הדקורייטורים נקראים הפוך (קודם התחתון ואז העליון).

@upper_dec(args)
@lower_dec
def func(arg_from_upper):
print(arg_from_upper(

אשמח להכוונה :pray:

לייק 1
  • שתי התגובות הראשונות מתוך stackoverflow מסבירות לא רע
  • גם בדוגמה של RealPython שיש העלה ביום 4 יש הסבר טוב
לייק 1

קודם כל המון תודה,
אני כתבתי את הפוסט אחרי שקראתי וניסיתי להשתמש בכל מה שכתוב בלינקים האלה ולצערי זה לא עזר.
במקרה שלי מדובר על דקורטור שמקבל ארגומנט ובמצבים אחרים לא מקבל ארגומנט. אני אמור כביכול במצב שהוא לא מקבל ארגומנט בסוגריים שלו להעביר מהדקורייטור הקודם את התוצאה שלו לפרמטר מסוים שלו. אני מנסה להימנע מלעשות יותר מדי ספוילרים אז לצערי אני לא יכול לכתוב יותר מזה.
ברגע שכתבתי הייתי בטוח שהבנתי וזה הולך לעבוד, בפועל זה לא. :man_shrugging:

לייק 1

תקוע כנ"ל…

לייק 1

אני לא לגמרי בטוח שהבנתי את השאלה.
מה אתה עושה כרגע, מה קורה בפועל ומה אתה מצפה שיקרה?