الفرق بين المراجعتين ل"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 تحمل القيمة | + | إن كانت الخاصية <code>default_factory</code> تحمل القيمة <code>None</code>، فإنّ التابع يطلق الاستثناء <code>KeyError</code> مع تقديم <code>key</code> كمعامل. |
− | إن لم تأخذ الخاصية default_factory القيمة | + | إن لم تأخذ الخاصية <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__() لا يستدعى من قبل أي | + | يجب الانتباه إلى أنّ التابع <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 في توثيق بايثون الرسمي.