תודה על הסרטון מחלקות!

תגיות:

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

למי שפספס: תרגול מחלקות: חפיסת קלפים - YouTube

13 לייקים

מצטרפת לתודה!!
את ממש תותחית היה כיף,קצר וממש מובן! :slight_smile: :slight_smile: :pray:

נשארה לי שאלונת, :face_with_monocle:
למה בעצם אנחנו צריכים להגדיר לכל מחלקה את str, eq, lt וכו,
למה הפעולות האלו לא מוגדרות כבר על המחלקות כמו על שאר הקוד שאנו כותבים?

2 לייקים

תודה! :slight_smile:
שאר הקוד שאנחנו כותבים - כלומר הקוד שכתבנו עד עכשיו לפני שלמדנו לכתוב מחלקות - משתמש במחלקות שבהן כן או לא הוגדרו הפעולות האלה, באופנים מסוימים.
אבל, נשים לב שכשאנחנו בונים מחלקה בעצמנו הפעולות האלה כבר אינן מוגדרות כל כך טוב. אנחנו יודעים ש-1 == 1.0, אבל למשל “1” != “1.0”. כשאת מגדירה מחלקה פייתון לא מניח מה את רוצה לעשות בה ומה לא ומשאיר לך את ההחלטה מתי שני אובייקטים הם זהים.
ייתכן שתרצי להגדיר ששני קלפים הם שווים אם המספר שלהם שווה ללא תלות בצורה וייתכן שתחליטי שהם שווים רק אם גם המספר וגם הצורה שווים. ייתכן שתרצי שאף אדם לא יהיה גדול מרעהו ולכן לא תרצי שימומש משהו דיפולטי. ואולי בכלל תרצי להגדיר שאנשים מושווים לפי גיל אך לא לפי שם. יש המון אפשרויות וההחלטה כולה שלך :slight_smile:

2 לייקים

מה שאורפז, וגם - הסימנים / הפונקציות שמייצגים את הפעולות האלו קיימים כמובן, אבל יש הבדל בפעולה על מופע לעומת פעולה על str, int וכו’

למשל __ .str__ : אנחנו מכירים היטב את print או str() כשעובדות על סוגי משתנים מסוימים, אבל מה יקרה בהפיכה של מופע לstr? בהגדרת המחלקה, אנחנו מייצרים את התשובות האלו בהנתן מופעים של המחלקה הספציפית

לייק 1

גם פה מסבירה מעולה (אחרי קריאה של שורות 2-3 נפל האסימון), תודה רבה.
גם לך @devorack :pray:

4 לייקים