בדיקות זהות
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-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.
בדיקות זהות שימושיות במיוחד כשרוצים לקבוע אם שני משתנים מצביעים על אותו אובייקט בזיכרון, ולא רק מכילים את אותו ערך.
אתגר
קלצרו שני משתנים, list1 ו־list2, כאשר:
list1מפנה לרשימה[1, 2, 3].list2מוקצה לאותו אובייקט.
השתמשו באופרטור is כדי לבדוק אם list1 ו־list2 מפנים לאותו אובייקט.
השתמשו באופרטור is not כדי לבדוק אם list1 ו־list2 מפנים לאובייקטים שונים.
הדפיסו את תוצאות הבדיקות.
נסו בעצמכם
# כתבו כאן קודהשיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
4יישום ספר אנשי קשר
הצגת התפריטהוספת איש קשר7קבוצות חלק 2
פעולות מתמטיות חלק 1פעולות מתמטיות חלק 2סיכום – חיפוש אוצרתת־קבוצות וקבוצות־עלמעבר על קבוצותסיכום – מעקב אחר טורניר8מנהל רישומי תלמידים
סקירת הפרויקטהוספת תלמידתרגלו בעצמכם: קומפיילר Python אונליין