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