الفرق بين المراجعتين لصفحة: «Python/defaultdict/ missing»

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:التابع <code>collections.__missing__()‎</code> في بايثون}}</noinclude> يستدعى التابع ‎__missing__()‎ من قب...'
 
لا ملخص تعديل
 
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:التابع <code>collections.__missing__()‎</code> في بايثون}}</noinclude>
<noinclude>{{DISPLAYTITLE:التابع <code>collections.__missing__()‎</code> في بايثون}}</noinclude>


يستدعى التابع ‎__missing__()‎ من قبل التابع ‎__getitem__()‎ في الصنف dict عند عدم العثور على المفتاح المطلوب.
يستدعى التابع <code>‎__missing__()‎</code> من قبل التابع <code>‎__getitem__()‎</code> في الصنف <code>[[Python/dict|dict]]</code> عند عدم العثور على المفتاح المطلوب.
== البنية العامة ==
== البنية العامة ==


سطر 15: سطر 15:
== القيمة المعادة ==
== القيمة المعادة ==


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


إن لم تأخذ الخاصية default_factory القيمة None، فإنّ التابع يُستدعى بدون معاملات وذلك لتقديم قيمة افتراضية للمفتاح key المعطى، وتُدرج هذه القيمة كمفتاح في القاموس  وتعاد.
إن لم تأخذ الخاصية <code>default_factory</code> القيمة <code>None</code>، فإنّ التابع يُستدعى بدون معاملات وذلك لتقديم قيمة افتراضية للمفتاح <code>key</code> المعطى، وتُدرج هذه القيمة كمفتاح في [[Python/dict|القاموس]] وتعاد.


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


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


يجب الانتباه إلى أنّ التابع ‎__missing__()‎ لا يستدعى من قبل أي عملية أخرى باستثناء التابع ‎__getitem__()‎. وهذا يعني أنّ التابع get()‎ - شأنه في ذلك شأنّ القواميس الاعتيادية - سيعيد القيمة None كقيمة افتراضية عوضًا عن استخدام default_factory.
يجب الانتباه إلى أنّ التابع <code>‎__missing__()</code>‎ لا يستدعى من قبل أي تابع آخر سوى التابع <code>‎__getitem__()</code>‎. وهذا يعني أنّ التابع <code>[[Python/dict/get|get()‎]]</code> - شأنه في ذلك شأنّ القواميس الاعتيادية - سيعيد القيمة <code>None</code> كقيمة افتراضية عوضًا عن استخدام <code>default_factory</code>.


== مصادر ==
== مصادر ==

المراجعة الحالية بتاريخ 20:39، 2 أغسطس 2018


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