الفرق بين المراجعتين ل"Python/weakref/WeakKeyDictionary"
سطر 23: | سطر 23: | ||
تمتلك كائنات <code>WeakKeyDictionary</code> تابعًا إضافيًا يكشف عن الإشارات الداخلية على نحو مباشر. لا يمكن ضمان كون الإشارات "حيّة" في لحظة استخدامها، لذا يجب أن التحقق من نتيجة استدعاء الإشارات قبل استخدامها. يمكن استخدام هذا التابع لتجنب إنشاء إشارات تتسبب في إبقاء جامع القمامة للمفاتيح لفترة أطول من المطلوب. | تمتلك كائنات <code>WeakKeyDictionary</code> تابعًا إضافيًا يكشف عن الإشارات الداخلية على نحو مباشر. لا يمكن ضمان كون الإشارات "حيّة" في لحظة استخدامها، لذا يجب أن التحقق من نتيجة استدعاء الإشارات قبل استخدامها. يمكن استخدام هذا التابع لتجنب إنشاء إشارات تتسبب في إبقاء جامع القمامة للمفاتيح لفترة أطول من المطلوب. | ||
− | يعيد التابع كائن تكرار iterable يتضمن الإشارات الضعيفة إلى المفاتيح. | + | يعيد التابع كائن تكرار iterable يتضمن الإشارات الضعيفة إلى المفاتيح ولا يحتاج إلى أيّ معاملات. |
== مصادر == | == مصادر == |
مراجعة 14:59، 27 أغسطس 2018
صنف ربط ينشئ إشارات ضعيفة إلى المفاتيح. يجري تجاهل عناصر القاموس التي لا تمتلك أي إشارات قوية إلى مفاتيحها، ويمكن الاستفادة من ذلك في ربط بيانات إضافية مع كائن معين يتبع جزءًا آخر في التطبيق دون الحاجة إلى إضافة الخصائص إلى تلك الكائنات، وتظهر أهمّية هذا الأمر مع الكائنات التي تعيد تعريف override قابلية الوصول إلى الخصائص.
البنية العامة
weakref.WeakKeyDictionary([dict])
المعاملات
dict
القاموس الذي سينشئ هذا الصنف إشارات ضعيفة إلى مفاتيحه.
تنبيه:
لما كان WeakKeyDictionary
مبنيًا على قواميس بايثون، فيجب أن لا يتغير حجمه عند المرور على عناصره، وهذا الأمر قد يصبح صعبًا مع WeakKeyDictionary
لأنّ الأحداث التي تُنفّذ بواسطة البرنامج أثناء عملية المرور على العناصر قد تتسبّب في اختفاء العناصر من القاموس (كتأثير جانبي لمجموعة garbage).
التابع keyrefs()
تمتلك كائنات WeakKeyDictionary
تابعًا إضافيًا يكشف عن الإشارات الداخلية على نحو مباشر. لا يمكن ضمان كون الإشارات "حيّة" في لحظة استخدامها، لذا يجب أن التحقق من نتيجة استدعاء الإشارات قبل استخدامها. يمكن استخدام هذا التابع لتجنب إنشاء إشارات تتسبب في إبقاء جامع القمامة للمفاتيح لفترة أطول من المطلوب.
يعيد التابع كائن تكرار iterable يتضمن الإشارات الضعيفة إلى المفاتيح ولا يحتاج إلى أيّ معاملات.