وجود المفتاح لا يؤخر حساب البديل. [1] [2]
الخلاصة السريعة
لا؛ fallback() تُنفّذ قبل get. [1] [2]
- وجود المفتاح لا يؤخر حساب البديل. [1] [2]
- get تختار القيمة المعادة بعد تقييم الوسائط. [1] [2]
- مثال مؤلف على CPython 3.12.14: fallback تسجل 1 في calls وتعيد 9؛ d={"red":4}. [1] [2]
- d.get("red",fallback()) تعطي 4؛ calls=[1]، ولم يتغير القاموس. [1] [2]
- تحكم بعد تصفير calls: d["red"] if "red" in d else fallback() تعطي 4، وcalls تبقى []؛ الفرع البديل لم يُقيّم. [1] [2]
الحساب والإرجاع
قبل الاستدعاء
دالة تسجل استدعاءها
مثال مؤلف على CPython 3.12.14: fallback تسجل 1 في calls وتعيد 9؛ d={"red":4}. [1] [2]
calls=[] def fallback(): calls.append(1) return 9 d={"red":4} [1] [2]
![الشرط يعيد 4 والسجل [].](https://images.bahralolom.com/assets/local-2000-20261012/BA-1258/python-get-evaluation-values.png)
النتيجة والتحكم
d.get("red",fallback()) تعطي 4؛ calls=[1]، ولم يتغير القاموس. [1] [2]
d.get("red",fallback()) -> 4; calls -> [1] [1] [2]
تحكم بعد تصفير calls: d["red"] if "red" in d else fallback() تعطي 4، وcalls تبقى []؛ الفرع البديل لم يُقيّم. [1] [2]
المراجع
للتوسع: لغات البرمجة.
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
![get تعيد 4 والسجل [1].](https://images.bahralolom.com/assets/local-2000-20261012/BA-1258/python-get-evaluation-main.png)