setdefault تضيف القيمة الافتراضية عند غياب المفتاح؛ None لا تجعل المفتاح غائبًا. [1]
الخلاصة السريعة
لا؛ المفتاح الموجود يحتفظ بقيمته، ومنها None. [1]
- setdefault تضيف القيمة الافتراضية عند غياب المفتاح؛ None لا تجعل المفتاح غائبًا. [1]
- المعيار وجود المفتاح؛ "r" in d يختلف عن فحص قيمته. [1]
- مثال مؤلف على CPython 3.12.14: d={"r":None}؛ d.setdefault("r",7) تعيد None، ويبقى d={"r":None}. [1]
- بعد ذلك d.setdefault("b",7) تعيد 7 وتضيف المفتاح b لأنه كان غائبًا. [1]
- تصبح d={"r":None,"b":7}؛ بقيت r بقيمة None، وأضيفت b بقيمة 7. [1]
وجود المفتاح
setdefault تضيف القيمة الافتراضية عند غياب المفتاح؛ None لا تجعل المفتاح غائبًا. [1]
القيمة والوجود
المعيار وجود المفتاح؛ "r" in d يختلف عن فحص قيمته. [1]
مفتاح موجود
مثال مؤلف على CPython 3.12.14: d={"r":None}؛ d.setdefault("r",7) تعيد None، ويبقى d={"r":None}. [1]
d.setdefault("r",7) -> None [1]

مفتاح غائب
بعد ذلك d.setdefault("b",7) تعيد 7 وتضيف المفتاح b لأنه كان غائبًا. [1]
d.setdefault("b",7) -> 7 [1]
تصبح d={"r":None,"b":7}؛ بقيت r بقيمة None، وأضيفت b بقيمة 7. [1]
المراجع
للتوسع: لغات البرمجة.
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
