דף הבית » המלצות הצוות » כיצד לבדוק אם שני משתנים הם מאותו סוג ב-Python

כיצד לבדוק אם שני משתנים הם מאותו סוג ב-Python

כיצד לבדוק אם שני משתנים הם מאותו סוג ב-Python

מבוא

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

שיטה 1: שימוש בפונקציה type()

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

הנה דוגמה:

 x = 5y = "Hello"if type(x) == type(y): print("x and y are of the same type")else: print("x and y are of different types")

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

שיטה 2: שימוש בפונקציה isinstance()

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

הנה דוגמה:

 x = 5y = 10if isinstance(x, type(y)): print("x and y are of the same type")else: print("x and y are of different types")

בדוגמה זו, הפונקציה isinstance() משמשת כדי לבדוק אם x הוא מופע מאותו סוג כמו y . אם הם מאותו סוג, התנאי מוערך ל- True .

שיטה 3: שימוש בתכונה __class__

ב-Python, לכל אובייקט יש תכונה מיוחדת בשם __class__ שמייצגת את המחלקה שלו. אתה יכול להשתמש בתכונה זו כדי להשוות בין המחלקות של שני אובייקטים ולקבוע את שוויון הסוג שלהם.

הנה דוגמה:

 x = "Hello"y = "World"if x.__class__ == y.__class__: print("x and y are of the same type")else: print("x and y are of different types")

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

שיטה 4: שימוש בסוג הערות

אם אתה משתמש ב-Python 3.5 ואילך, אתה יכול לנצל את הערות הסוג כדי לציין את סוגי המשתנים הצפויים. לאחר מכן תוכל להשתמש בתכונה __annotations__ כדי לבדוק את שוויון הסוג של משתנים.

הנה דוגמה:

 x: int = 5y: str = "Hello"if x.__annotations__["x"] == y.__annotations__["y"]: print("x and y are of the same type")else: print("x and y are of different types")

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

סיכום

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

שאלות ותשובות

ש: האם אני יכול להשתמש בפונקציה type() כדי לבדוק אם משתנה הוא מסוג מסוים?
ת: כן, ניתן להשתמש בפונקציה type() כדי לבדוק אם משתנה הוא מסוג מסוים. ניתן להשוות את התוצאה של type() לסוג הרצוי באמצעות אופרטור השוויון ( == ).
ש: מה ההבדל בין type() לבין isinstance() ?
ת: הפונקציה type() מחזירה את הסוג המדויק של אובייקט, בעוד שהפונקציה isinstance() מאפשרת לך לבדוק אם אובייקט הוא מופע של מחלקה מסוימת או תת המחלקות שלה.
ש: האם אני יכול לבדוק אם שני משתנים הם מאותו סוג מבלי להשתמש בפונקציות מובנות כלשהן?
ת: כן, אתה יכול להשוות בין המחלקות של שני אובייקטים ישירות באמצעות התכונה __class__ . עם זאת, שימוש בפונקציות המובנות כמו type() או isinstance() מספק גישה נוחה וקריאה יותר.
ש: האם הערות סוג חובה ב-Python?
ת: לא, הערות סוג הן אופציונליות ב-Python. הם משמשים בעיקר לרמזים על סוגים ושיפור קריאות הקוד.

צרו איתנו קשר

אהבתם? שלחו לחבר\ה שחייב\ת לדעת גם!

דילוג לתוכן