format_map تستعمل الخريطة مباشرة، بدل نسخها إلى dict. [1]
الخلاصة السريعة
التوسيع **d يفقد بديل __missing__ في المثال؛ التنسيق المباشر يحفظه. [1]
- format_map تستعمل الخريطة مباشرة، بدل نسخها إلى dict. [1]
- الفائدة تظهر مع صنف فرعي من dict يعرّف __missing__؛ قاموس عادي لا يملك بديلنا. [1]
- مثال مؤلف على CPython 3.12.14: f="{name}:{missing}" وd=Fallback(name="R")؛ الصنف أدناه يعيد "?" عند غياب مفتاح. [1]
- f.format_map(d) تعطي "R:?"؛ f.format(**d) ترفع KeyError للمفتاح missing. [1]
- تحكم: f.format_map(dict(d)) ترفع KeyError أيضًا؛ بقي محتوى d مساويًا {"name":"R"}. [1]
الخريطة مباشرة
format_map تستعمل الخريطة مباشرة، بدل نسخها إلى dict. [1]
بديل المفتاح
الفائدة تظهر مع صنف فرعي من dict يعرّف __missing__؛ قاموس عادي لا يملك بديلنا. [1]
الصنف والمثال
مثال مؤلف على CPython 3.12.14: f="{name}:{missing}" وd=Fallback(name="R")؛ الصنف أدناه يعيد "?" عند غياب مفتاح. [1]
class Fallback(dict): def __missing__(self,key): return "?" f="{name}:{missing}" d=Fallback(name="R") [1]

النتيجة والتحكم
f.format_map(d) تعطي "R:?"؛ f.format(**d) ترفع KeyError للمفتاح missing. [1]
f.format(**d) -> KeyError [1]
تحكم: f.format_map(dict(d)) ترفع KeyError أيضًا؛ بقي محتوى d مساويًا {"name":"R"}. [1]
المراجع
للتوسع: لغات البرمجة.
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
