الفرق بين المراجعتين ل"Python/weakref/WeakKeyDictionary"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:الدالة <code>weakref.WeakKeyDictionary()‎</code> في بايثون}}</noinclude> صنف ربط ينشئ إشارات ضعيفة إلى...')
 
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE:الدالة <code>weakref.WeakKeyDictionary()‎</code> في بايثون}}</noinclude>
 
<noinclude>{{DISPLAYTITLE:الدالة <code>weakref.WeakKeyDictionary()‎</code> في بايثون}}</noinclude>
  
صنف ربط ينشئ إشارات ضعيفة إلى المفاتيح. يجري تجاهل عناصر القاموس التي لا تمتلك أي إشارات قوية إلى مفاتيحها، ويمكن الاستفادة من ذلك في ربط بيانات إضافية مع كائن معين يتبع جزءًا آخر في التطبيق دون الحاجة إلى إضافة الخصائص إلى تلك الكائنات، وتظهر أهمّية هذا الأمر مع الكائنات التي تعيد تعريف override قابلية الوصول إلى الخصائص.
+
صنف ربط ينشئ إشارات ضعيفة إلى المفاتيح. يجري تجاهل عناصر [[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).
  
 
=== التابع keyrefs()‎ ===
 
=== التابع keyrefs()‎ ===
  
تمتلك كائنات WeakKeyDictionary تابعًا إضافيًا يكشف عن الإشارات الداخلية على نحو مباشر. لا يمكن ضمان كون الإشارات "حيّة" في لحظة استخدامها، لذا يجب أن التحقق من نتيجة استدعاء الإشارات قبل استخدامها. يمكن استخدام هذا التابع لتجنب إنشاء إشارات تتسبب في إبقاء جامع القمامة للمفاتيح لفترة أطول من المطلوب.
+
تمتلك كائنات <code>WeakKeyDictionary</code> تابعًا إضافيًا يكشف عن الإشارات الداخلية على نحو مباشر. لا يمكن ضمان كون الإشارات "حيّة" في لحظة استخدامها، لذا يجب أن التحقق من نتيجة استدعاء الإشارات قبل استخدامها. يمكن استخدام هذا التابع لتجنب إنشاء إشارات تتسبب في إبقاء جامع القمامة للمفاتيح لفترة أطول من المطلوب.
  
 
يعيد التابع كائن تكرار iterable يتضمن الإشارات الضعيفة إلى المفاتيح.
 
يعيد التابع كائن تكرار iterable يتضمن الإشارات الضعيفة إلى المفاتيح.

مراجعة 14:58، 27 أغسطس 2018


صنف ربط ينشئ إشارات ضعيفة إلى المفاتيح. يجري تجاهل عناصر القاموس التي لا تمتلك أي إشارات قوية إلى مفاتيحها، ويمكن الاستفادة من ذلك في ربط بيانات إضافية مع كائن معين يتبع جزءًا آخر في التطبيق دون الحاجة إلى إضافة الخصائص إلى تلك الكائنات، وتظهر أهمّية هذا الأمر مع الكائنات التي تعيد تعريف override قابلية الوصول إلى الخصائص.

البنية العامة

weakref.WeakKeyDictionary([dict])

المعاملات

dict

القاموس الذي سينشئ هذا الصنف إشارات ضعيفة إلى مفاتيحه.

تنبيه:

لما كان WeakKeyDictionary مبنيًا على قواميس بايثون، فيجب أن لا يتغير حجمه عند المرور على عناصره، وهذا الأمر قد يصبح صعبًا مع WeakKeyDictionary لأنّ الأحداث التي تُنفّذ بواسطة البرنامج أثناء عملية المرور على العناصر قد تتسبّب في اختفاء العناصر من القاموس (كتأثير جانبي لمجموعة garbage).

التابع keyrefs()‎

تمتلك كائنات WeakKeyDictionary تابعًا إضافيًا يكشف عن الإشارات الداخلية على نحو مباشر. لا يمكن ضمان كون الإشارات "حيّة" في لحظة استخدامها، لذا يجب أن التحقق من نتيجة استدعاء الإشارات قبل استخدامها. يمكن استخدام هذا التابع لتجنب إنشاء إشارات تتسبب في إبقاء جامع القمامة للمفاتيح لفترة أطول من المطلوب.

يعيد التابع كائن تكرار iterable يتضمن الإشارات الضعيفة إلى المفاتيح.

مصادر

صفحة Weak references في توثيق بايثون الرسمي.