"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية منع مشاركة بيانات الفصل بين المثيلات في بايثون؟

كيفية منع مشاركة بيانات الفصل بين المثيلات في بايثون؟

تم النشر بتاريخ 2024-12-22
تصفح:175

How to Prevent Class Data Sharing Between Instances in Python?

كيفية عزل بيانات الفصل للمثيلات الفردية

لتجنب مشاركة بيانات الفصل بين مثيلات متعددة والتأكد من احتفاظ كل مثيل ببياناته الخاصة، اتبع الخطوات التالية:

قم بتعريف المتغيرات داخل المُنشئ (طريقة __init__)

بدلاً من ذلك للإعلان عن متغيرات مستوى الفصل خارج أي طريقة، قم بتعريفها ضمن طريقة البناء init. على سبيل المثال:

class a:
    def __init__(self):
        self.list = []  # Declared within __init__ to create instance-specific lists

من خلال تهيئة القائمة في __init__، يتم إنشاء مثيل جديد للقائمة بجانب كل مثيل جديد للكائن.

نموذج الكود:

الفئة أ: تعريف __init__(الذات): القائمة الذاتية = [] س = أ() ص = أ() x.list.append(1) y.list.append(2) x.list.append(3) y.list.append(4) طباعة (x.list) # مطبوعات [1، 3] print(y.list) # print [2, 4]
class a:
    def __init__(self):
        self.list = []

x = a()
y = a()

x.list.append(1)
y.list.append(2)
x.list.append(3)
y.list.append(4)

print(x.list)  # prints [1, 3]
print(y.list)  # prints [2, 4]
في هذا المثال، لم تعد القائمة مشتركة بين المثيلين (x وy)، ويحتفظ كل مثيل ببياناته المنفصلة، ​​حسب الرغبة .

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3