
i מצביע על ערך 99 שנמצא בזיכרון.j = i, גם j מצביע לאותו ערך 99. כשמוסיפים אחד ל-j, נוצר ערך חדש, j מצביע אליו, ו-i נשאר 99.i ו-j מצביעים לאותה רשימה, הוספת איבר דרך אחד מהם מעדכנת גם את השני.הטקסט המלא של הדקות הראשונות בהרצאה «Mutable - חלק 1» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
נדבר קצת על המבנה זיכרון של שפת פייתון ונדבר קצת על מיוטבל ואי מיוטבל. בוא נניח שיש לנו משתנה שנקרא i, i שווה ל-99. יש לנו עוד משתנה שנקרא j, שהוא שווה ל-i.
מבחינת המבנה זיכרון של פייתון אז i הוא בעצם לא פוינטר כי בפייתון אין פוינטר אלא רפרנס שמצביע על הערך 99 בזיכרון.
כשאנחנו עושים j שווה i יש לנו בעצם את j שהוא מצביע על אותו מקום בזיכרון של i. כלומר שניהם שווים ל-99 אבל שניהם מצביעים על אותו מקום בזיכרון ששווה 99. כשנוסיף ל-J אחד אז אנחנו לא משנים את I אלא G עכשיו מצביע על מקום חדש בזיכרון שיהיה שווה לערך 100.
כלומר יש פה איזושהי אופטימיזציה של פייתון שברגע שהוא משתנה הוא אי מיוטבל, כלומר הוא לא ניתן לשינוי ומנסים לשנות אותו נוצר ערך חדש. אותו דבר הוא גם בנוגע לסטרינגים.
יש לנו סטרינג ששווה לערך מסוים