الفرق بين المراجعتين لصفحة: «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 في توثيق بايثون الرسمي.