نستبدل محتوى قاموس مؤلف داخل نطاق مؤقت. [1] [2]
الخلاصة السريعة
المثال
from unittest.mock import patch
d={'a':1,'b':2}
with patch.dict(d,{'a':7},clear=True):
print(d)
print(d)داخل النطاق وخارجه
داخل النطاق الناتج {'a': 7}، وبعده {'a': 1, 'b': 2}. استعيدت مفاتيح القاموس، لا كائن بديل للاسم d. دون clear=True تبقى b:2 أثناء هذا التعديل. [1] [2]

إذا وقع استثناء
اختبرنا رفع RuntimeError داخل النطاق: استعيد القاموس، وبقي الاستثناء يمر إلى معالجنا الخارجي. الاستعادة لا تعني إخفاء الخطأ. [1] [2]
حدود الاستعادة
الحفظ سطحي؛ تعديل قائمة مشتركة داخل قيمة لا يُلغى تلقائيًا. المثال لقاموس عادي مؤلف؛ لا نعدل البيئة أو الوحدات ولا نثبت عزلًا متزامنًا. [1] [2]
المراجع
- Python: unittest.mock patch.dict
- CPython3.12.14: unittest/mock.py
- موضوع تك: لغة بايثون — مفردات
- موضوع تك: تطبيقات بايثون — مفردات
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
