النسخة العميقة تحفظ المشاركة. [1] [2]
الخلاصة السريعة
deepcopy يحافظ على مشاركة القائمة الداخلية في عملية واحدة. [1] [2]
تتبع النسخة المشتركة
from copy import deepcopy shared=[1] original=[shared,shared] clone=deepcopy(original) print(clone[0] is clone[1]) print(clone[0] is original[0]) clone[0].append(2) print(original,clone)
الناتج: True ثم False ثم [[1], [1]] [[1, 2], [1, 2]]. [1] [2]
لماذا بقيت المشاركة؟
تسجل memo النسخة؛ تكرار المرجع يستعيدها. [1] [2]
الهوية والقيمة
في [[1],[1]] قائمتان متساويتان مختلفتان؛ تظلان مختلفتين بعد النسخ العميق. [1] [2]
استدعاءان مستقلان
نسخ كل عنصر باستدعاء مستقل: [deepcopy(x) for x in original]. لكل استدعاء memo جديدة؛ إضافة 2 للأولى لا تغير الثانية. [1] [2]

حد الحكم
قد تعرّف الفئات سلوك نسخ مخصصًا. [1] [2]
المراجع
- Python: copy وmemo
- CPython 3.12.14: copy.py
- موضوع تك: لغة بايثون — مفردات
- موضوع تك: تطبيقات بايثون — مفردات
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
