מחברת 2 שבוע 5 - דוגמאות נוספות

היי,
לקראת סוף מחברת 2 בשבוע 5 ישנן דוגמאות נוספות, אשמח אם מישהו יוכל להסביר לי את הדוגמא הראשונה:

הפונקציה range כזכור יכולה לקבל שני פרמטרים התחלה וסוף אולם יכולה לקבל גם ארגומנט שלישי.
אשר מתאר “קפיצות”.
הפרמטר הזה בדיפולט שלו הוא 1 (כלומר ללא קפיצות בין האיברים - בהנחה ולא הכנסו ארגומנט שלישי).

ברגע שעשו פה unpacking של הרשימה לתוך הפונקציה זה שווה ערך ללהכניס אליה 3 משתנים

range(1,10,3)

ואז בעצם מקבלים מצב בו אנו אומרים לפונקציה לעבור בין 1 ל 10 בקפיצות של 3, ולכן התוצאה המתקבלת היא
1,4,7

3 לייקים

באותו נושא, אחת הדוגמאות שם היא חיקוי של הפונקציה get:
example

למה צריך את **kwargs? הפונקציה עובדת כמו get גם אם מוחקים את הפרמטר הזה.
ניסיתי לשחק עם זה ובכל הרצה הפרמטר kwargs לא לוקח אף ארגומנטים, הם כולם “נכנסים” תחת *args.

ספציפית עבור המקרה הזה זה נכון, get לא מקבלת keyword arguments, אבל צריך להתחשב במקרה שבו בעתיד היא כן תוכל לקבל פרמטרים דיפולטיים/keyword arguments.
להוסיף *args, **kwargs לחתימות של פונקציות שמחקות פונקציות אחרות זה די נפוץ, כדי לתפוס את כל מקרי הקצה וההרחבות העתידיות שהולכות להיות לפונקציות שמחקים

לייק 1