סיימתי אחשב לבדוק את הקוד שלי לתרגיל “מלון קליפורניה” עשיתי שם משהוא שעובד
אבל אני לא בטוחה שזה דבר נכון לעשות.
קוד
self.room_type = type(self) הגדרתי את זה במבנה של חדרים ככה ובמלון שאני בודקת את סוג החדר אני משווה אם זה תיפוס החדר, לדוגמה room.room_type == Single_room.
zurikarat
אין לך בעיה בבדיקת טיפוסו של self?
הרי סוגו הוא המחלקה עצמה
lidyalatin
לא אין לי בעיה, יש לי תבנית מחלקת חדרים וכל סוגי החדר יורשים ממנו. ואז הטיפוס של כל חדר הוא סוג החדר. בכללי כל בדיקה שעשיתי לזה עבד. אבל אני לא יודעת אם זה דרך נכונה והאם זה לא שברירי מדי.
zurikarat
את יכולה לשלוח את הפלט של הסוג?
נשמע לי מוזר, זה לא אמור להיות משהו כמו;
<class '__main__.(class_name)'>
?
lidyalatin
זה בדיוק הפלט שלו.
אם תשווה את הפלט ל class_name == <class ‘main.(class_name)’> זה יהיה שווה True אם זה הקלאסס.
zurikarat
את משווה עם סוגריים?
כי ללא סוגריים זה לא עובד.
lidyalatin
תחשוב על זה כמו,
type(14) == int שווה True
print(type(room101) == Single_room) אכן room101 ואכן מטיפוס Single_room אז זה שווה True.
Yam
היי, זה סבבה. אפשר לעשות את זה.
ממליץ על להשתמש ב־isinstance כשאפשר, במקרים האלו