التابع collections.__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 في توثيق بايثون الرسمي.