פייתון/פייתון גרסה 3/העתקים: הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
אין תקציר עריכה
שורה 1:
'''העתקים''' היא פעולה שמייצרת העתקה של טיפוסים. קיימים שני סוגים של העתקים:
#העתק עמוק (deep copy) - למשתנה המועתק יש '''מיקום''' זיכרון משל עצמו. שינויים שבוצעו על המשתנה לא ישפיעו על המקור.
#העתק רדוד (shadowshallow copy)- המשתנה החדש "מצביע" (alias) אל אותו תא זיכרון של המשתנה המקורי ועל כן שינוים במשתנה החדש ישפיעו על המשתנה המקורי. לדוגמה השמה מייצרת העתק רדוד.
 
* בכדי לדעת האם מדובר בהעתק עמוק או רדוד נעזר בפונקציית id שמחזירה את "מקום הזיכרון".
שורה 39:
==רשימה==
 
העתקים מייצרים העתק רדוד לרשימות כלומר מייצר מצביע לאותה. נראה את הששפעהההשפעה של העתקים על רשימות :
נשם לב לקריאות הבאות:
<source lang = "python">
שורה 50:
[2, 2, 3]
</source>
במקרה הראשון יצרנו העתק למספר, איבר שלא ניתן לשנות אותו, בתוך רשימה. כאשר שיננושינינו את המספר ברשימה, התבצעה החלפה של המספר.
 
<source lang = "python">
שורה 70:
[[9], [9], [9]]
</source>
במקרה השני יצרנו העתק רדוד לרשימה מקוננת ולכן כאשר שיננו את הרשימה המקוננת (בדוגמה השניההשנייה nest_lst) כל הרשימות שהצביעו אליה השתנו.
 
<source lang = "python">