التابع collections.__missing__()‎ في بايثون

من موسوعة حسوب
مراجعة 20:37، 2 أغسطس 2018 بواسطة Mohammed Taher (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:التابع <code>collections.__missing__()‎</code> في بايثون}}</noinclude> يستدعى التابع ‎__missing__()‎ من قب...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)


يستدعى التابع ‎__missing__()‎ من قبل التابع ‎__getitem__()‎ في الصنف dict عند عدم العثور على المفتاح المطلوب.

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

__missing__(key)

المعاملات

key

المفتاح المراد معرفة ما إذا كان مفقودًا أو لا.

القيمة المعادة

إن كانت الخاصية default_factory تحمل القيمة None، فإنّ التابع يطلق الاستثناء KeyError مع تقديم key كمعامل.

إن لم تأخذ الخاصية default_factory القيمة None، فإنّ التابع يُستدعى بدون معاملات وذلك لتقديم قيمة افتراضية للمفتاح key المعطى، وتُدرج هذه القيمة كمفتاح في القاموس وتعاد.

إن أدّى استدعاء default_factory إلى إطلاق استثناء فإنّ هذا الاستثناء سيبقى دون أيّ تغيير.

يستدعى التابع ‎__missing__()‎ من قبل التابع ‎__getitem__()‎ في الصنف dict عند عدم العثور على المفتاح المطلوب، ويعيد أو يطلق التابع الأخير كلّ ما يعيده أو يطلقه التابع الأوّل من قيم أو استثناءات.

يجب الانتباه إلى أنّ التابع ‎__missing__()‎ لا يستدعى من قبل أي عملية أخرى باستثناء التابع ‎__getitem__()‎. وهذا يعني أنّ التابع get()‎ - شأنه في ذلك شأنّ القواميس الاعتيادية - سيعيد القيمة None كقيمة افتراضية عوضًا عن استخدام default_factory.

مصادر

قسم defaultdict Objects في صفحة Container Datatypes في توثيق بايثون الرسمي.