ما الفرق بين copy وdeepcopy في Python؟

سهلقراءة دقيقةآخر تحديث 1 أكتوبر 2026

Python تطوير الويب

الإجابة

  • copy.copy(): نسخة سطحية. القائمة الخارجية جديدة، لكن العناصر الداخلية مشتركة مع الأصل.
  • copy.deepcopy(): نسخة عميقة. كل شيء يُنسخ من جديد، حتى الداخلي.
import copy

original = [[1, 2], [3, 4]]

shallow = copy.copy(original)
deep = copy.deepcopy(original)

original[0].append(99)

print(shallow)  # [[1, 2, 99], [3, 4]]  shared inner list
print(deep)     # [[1, 2], [3, 4]]      fully separate

متى أحتاج deepcopy؟

عندما تحتوي البيانات على قوائم أو قواميس داخل بعضها، وتريد تعديل النسخة دون أن يتأثر الأصل. وهي أبطأ من copy لأنها تنسخ كل شيء.

اختبر فهمك

في Python، ما الفرق بين copy وdeepcopy من مكتبة copy؟