אני מנסה לפתור את משחקי הרעב עם שימוש במחלקות ומסתבך עם הטיפוס של מחלקה שחוזר לי.
לדוגמה, אני קורה לפונקציה מתוך מחלקה שמחזירה לי נקודה, אבל בגלל שלא חוזר לי tuple אלא type של מחלקה, אני לא יודע איך אני יכול להשתמש בזה.
בגלל זה אני כל הזמן מקבל שגיאות בסגנון: “object is not subscriptable”
ניסיתי להמיר את זה לסוגי טיפוסים שאני מכיר ללא הצלחה.
orpazf
אם חוזר לך אובייקט מטיפוס המחלקה - מה אתה רוצה לעשות איתו? אתה יכול להפעיל עליו מתודות, אתה יכול לגשת לשדות שלו - יש לך הרבה כלים אם רק תספק אותם למחלקה עצמה.
2 לייקים
devorack
למה שהפונקציה שלך לא תחזיר לך את הטיפוס שמתאים לך?
לייק 1
kaplunoren
חוזר לי אובייקט מסוג מחלקה שהוא נקודה חדשה (אמצע הדרך בין הנקודות) ואני רוצה אחרי זה בפונציה להשתמש בו כtuple רגיל של נקודה אבל לא מצליח.
ניסיתי להחזיר מהמחלקה טיפוס אחר אבל הוא תמיד מחזיר את אותו סוג טיפוס (שזה הטיפוס של המחלקה)
orpazf
זה נשמע קצת מוזר שניסית להחזיר טיפוס אחר והוא החזיר לך את טיפוס המחלקה, מחלקה בהחלט יכולה להחזיר טיפוסים אחרים.
kaplunoren
אפשר לשלוח לך בפרטי את הקוד?
orpazf
נסה אותי
לייק 1
devorack
אני חושבת שבשביל זה המציאו את פונקציית הקסם init
לייק 1
benhamou.l.e
שלום,
הבנתי ש פעולת הקסם __str__ מטרתה לתאר אובייקט כמחרוזת. ב class point
הגדרנו אותה, ואני ממשיכה איתה לתרגיל . הבנתי כי קוראים לה כאשר קוראים לprint.
אבל למרות שפעולת הקסם הוגדרה, אני ממשיכה לקבל main.Point object at 0x000002158161A6C8>
ולא מצליחה לקבל את הנקודה עצמה…