التابع ChainMap.new_child()‎ في بايثون

من موسوعة حسوب
مراجعة 20:21، 31 يوليو 2018 بواسطة Mohammed Taher (نقاش | مساهمات)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يعيد التابع صنف ChainMap جديد يتضمّن كائن ربط جديد متبوعًا بجميع كائنات الربط الموجودة في النسخة الحالية.

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

new_child(m=None)

المعاملات

m

معامل اختياري في حال تعيينه فإنّه يصبح كائن map الجديد الذي يأتي في مقدّمة قائمة كائنات الربط، وإلا فإنّه التابع يستخدم قاموسًا فارغًا بحيث يصبح الاستدعاء d.new_child()‎ مكافئًا للاستدعاء ChainMap({}, *d.maps)‎.

ملاحظة: أضيف المعامل الاختياري m إلى التابع في الإصدار 3.4 من اللغة.

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

يعيد التابع صنف ChainMap جديد يتضمّن كائن ربط جديد متبوعًا بجميع كائنات الربط الموجودة في النسخة الحالية.

يستخدم هذا التابع لإنشاء سياقات فرعية يمكن تحديثها دون تغيير القيم في أيٍّ من كائنات الربط الأب.

أمثلة

يبين المثال التالي آلية عمل التابع:

c = ChainMap()        # إنشاء سياق جذري
d = c.new_child()     # إنشاء سياق ابن متشعب
e = c.new_child()     # سياق ابن متشعب من السياق الأب c ولكنه غير مرتبط بالسياق الابن d

انظر أيضًا

  • كائنات ChainMap: :صنف شبيه بالقواميس يستخدم لإنشاء عرض منفرد لعمليات ربط mapping متعددة

مصادر

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