הזמנה: סשן תכנות עם ים – מפגש שני

מוזמנים להצטרף אלי ביום שלישי הקרוב לסשן שאלות, תשובות ותכנות.

לאור הפידבקים שלכם על הפורמט הקודם, הפורמט חדש החדש ילך ככה:

  1. נתחיל בשעה 20:00 במענה על שאלות. השאלות יהיו רק שאלות שהעלו בפורום עד סוף יום שני (2020-08-03). נסיים את סשן המענה על שאלות לכל המאוחר בשעה 21:30. אם נספיק לפני – מה טוב. יהיה ניתן לשאול שאלות המשך לשאלות שעליהן הסברתי, אבל לא שאלות חדשות לחלוטין.
  2. נעבור לטיפ שבועי: טיפ פייתוני שנראה לי מגניב לדבר עליו. אם יש בקשות מיוחדות מוזמנים להעלות פה.
  3. בשעה 21:45 לערך (או לפני, אם סשן השאלות היה קצר) נקדיש את שארית הזמן לתכנות של פרויקט קטן. אם יש לכם בקשות לפרויקט מאיזשהו סוג – שוב, מוזמנים להעלות.

מזכיר – שאלות טובות הן שאלות ממוקדות שעיקרן הן לתת לכם חכה, ולא דג. לדוגמה: “מתי אני בוחר לתפוס שגיאה ומתי עדיף שלא?” היא שאלה מעולה. “האם בתרגיל 144 צריך לתפוס ValueError?” היא לא שאלה טובה.

אשמח אם תסמנו אם אתם מגיעים או לא כדי שאוכל לדעת לקראת מה להתכונן :slight_smile:

10 לייקים

כתובה שעה קצת מוזרה …

תודה, תיקנתי :slight_smile:

הפעם יראו את המסך עצמו?
שאלה ראשונה:
מתי מותר לוותר על self ? לדוגמא בקוד של הצבע של השחמט ויתרת עליו בפונקציה

2 לייקים

יום שלישי כל שבוע?
יש אפשרות לגוון ביום אחר בשבועות הבאים?

לייק 1

אעלה הצבעה שוב עבור שבוע הבא.

לייק 1

יש סיכוי שנוכל לפתור את “תרגיל מחשמל” בסשן? אני מאוד מעוניין לראות את הפתרון המלא והמיטבי

4 לייקים

חייב לומר שמאוד נהניתי מהסשן הקודם!
שבוע הבא זה יהיה ביוטיוב?

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

לגבי שינוי של היום, זה יעלה שוב להצבעה

וכן, יש הקלטה בערוץ היוטיוב של הקורס, והמחברת מהלייב הקודם נמצאת בתגובות של אותו האשכול :slight_smile:

לים שלום,
קודם כל-תודה רבה על ההשקעה בסרטון הקודם! הטיפ של ה-yield from כבר עוזר לי בפרויקט שאני בונה בעקבות הקורס.
מחזק את @roneng בשאלה שלו:
(הזמנה: סשן תכנות עם ים – מפגש שני).

3 לייקים

את תרגיל השחמט כתבת כדי שנלמד ממנו איך משתמשים בחומרים של מחברות 1 ו-2.

-אם היית צריך לכתוב תכנית כזו - לא למטרות הוראה -
האם היית נגש אליה באופן שונה?

-אם כן - מה היית עושה אחרת?

4 לייקים

שאלה אחת על מחלקות - מאוד ספציפית: אם אני רוצה לייצר קבוע מחלקה, שמחושב ע’י פונקציה (במחלקה?) איך עושים את זה? (באחד התרגילים ניסיתי, וקצת נתקעתי עם שגיאה בעת יצירת המופע)

3 לייקים

יש בעיה ספציפית עם יום שלישי הקרוב
זה יום אהבה… האישה מצפה שנצא…
יש אפשרות לדחייה?
אני חושב שזה תקף להרבה אנשים כאן…

צאו ותחגגו, הלייב מוקלט ויחכה לך כשתחזור :slight_smile:

לייק 1

העדכון ידחף לי ב פוש? דרך היוטיוב?
מתכוון להגיע

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

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

החלקים שיותר מבלבלים אותי:

שימוש ב super :

בכללי, חסר לי קצת במה זה בדיוק אומר: כשכותבים פעולה, ואז super() האם כל הפעולות שם מתבצעות, ואז הנוספות, או משהו אחר?

כדי למקד, איפה ספציפית הבעיה שלי:

  1. ירושה של init

אם ירשתי את init עם “הרבה” משתנים במחלקה המקורית ואח"כ אני רוצה ללא משתנים במחלקה היורשת.
דוגמא:

במחלקת העל:

 class Example:
    def __init__(self, a=None, b=None, c=None, d=None):
        if a is None:
            self.a = [1 * b]
        self.a = a
        self.b = b
        self.c = c
        self.d = d
        

במחלקה היורשת:

def __init__(self, **kwargs):
    super().__init__( **kwargs)
    self.a = [5, 6]
    self.b = 2
    self.c = 3 
    self.d = 4
    

מה הדרך הטובה ביותר לכתוב את זה? (כמו שכתבתי פה קיבלתי שגיאה, שאני מעריכה שקשורה לדיפולט None)
עולה אצלי השאלה:
האם כל ה “super” מתקיים, ואז חלקו נדרס, או משהו אחר?
מבחינת ביצוע - מה סדר הפעולות שמתקבל בשימוש בכתיבה כזו?

ובאותו הקשר, ולדעתי בפועל אותה שאלה (דוגמה ממקום אחר):
עבור פעולה במחלקת העל:

def func(self):
    self.a = 1
    self.b = 2
    self.c = 3
    if self.c == 3 and self.a + self.b == self.c:
        do()

אני רוצה משהו מאוד דומה, אבל לא זהה במחלקה היורשת:

def func(self):
    self.a = 1
    self.b = 2
    self.c = 3
    if self.c == 3:    # no 'and' here
        do()

מה הדרך הטובה ביותר לכתוב את זה (האם ואיך לרשת את זה)?

אשמח לחדד את השאלות אם צריך.

תודה!

לייק 1

אני אשמח לחדד את השאלה אפילו אקסטרה:

  1. באילו מקרים אפילו מומלץ לוותר על self?

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

לייק 1

כמה שאלות על נושא השגיאות:

  1. מה היעילות שלה לעומת תנאים?
  2. נכתב שבפייתון יש העדפה לגישה של שגיאות. אם מרגיש שהקוד יהיה יותר “קריא” בפיתרון של הצבת תנאים, האם עדיין ההעדפה הזו תקפה?
3 לייקים

שאלה טכנית בטיפול בשגיאות.

ברגע שאני עושה קוד בפונקציה … האם הבלוק של הtry except else צריך להכיל את כל גוף הפונקציה או שאני יכול למשל לעשות דברים שאני יודע בוודאות שהם לא הולכים לייצר שגיאה כמו השמת משתנים וכו לפני הבלוק או אחרי הבלוק.