Menu
Coddy logo textTech

בדיקות זהות

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Python של Coddy. שיעור 26 מתוך 78.

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

שימוש בסיסי ב־is:

a = [1, 2, 3]
b = a
c = [1, 2, 3]

print(a is b)  # פלט: True
print(a is c)  # פלט: False

בדוגמה הזו, a ו-b מתייחסים לאותו אובייקט רשימה, ולכן a is b מחזיר True. עם זאת, a ו-c הם אובייקטים שונים של רשימה עם אותם ערכים, ולכן a is c מחזיר False.

שימוש בסיסי ב־is not:

x = 5
y = 5
z = 10

print(x is not y)  # פלט: False
print(x is not z)  # פלט: True

כאן, x ו־y מתייחסים לאותו אובייקט מספר שלם (בזכות האופטימיזציות של Python למספרים שלמים קטנים), ולכן x is not y מחזיר False. x ו־z הם אובייקטים שונים, ולכן x is not z מחזיר True.

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

challenge icon

אתגר

קל

צרו שני משתנים, list1 ו־list2, כאשר:

  • list1 מפנה לרשימה [1, 2, 3].
  • list2 מוקצה לאותו אובייקט.

השתמשו באופרטור is כדי לבדוק אם list1 ו־list2 מפנים לאותו אובייקט.
השתמשו באופרטור is not כדי לבדוק אם list1 ו־list2 מפנים לאובייקטים שונים.
הדפיסו את תוצאות הבדיקות.

נסו בעצמכם

# כתבו כאן קוד
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה לוגיקה וזרימת תוכנית

תרגלו בעצמכם: קומפיילר Python אונליין