סיימתי אחשב לבדוק את הקוד שלי לתרגיל "מלון קליפורניה" עשיתי שם משהוא שעובד

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

קוד
self.room_type = type(self) הגדרתי את זה במבנה של חדרים ככה ובמלון שאני בודקת את סוג החדר אני משווה אם זה תיפוס החדר, לדוגמה room.room_type == Single_room. 

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

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

את יכולה לשלוח את הפלט של הסוג?
נשמע לי מוזר, זה לא אמור להיות משהו כמו;

<class '__main__.(class_name)'>

?

זה בדיוק הפלט שלו.

אם תשווה את הפלט ל class_name == <class ‘main.(class_name)’> זה יהיה שווה True אם זה הקלאסס.

את משווה עם סוגריים?
כי ללא סוגריים זה לא עובד.

תחשוב על זה כמו,

type(14) == int שווה True

print(type(room101) == Single_room) אכן room101 ואכן מטיפוס Single_room אז זה שווה True.

היי, זה סבבה. אפשר לעשות את זה.
ממליץ על להשתמש ב־isinstance כשאפשר, במקרים האלו

3 לייקים