مقدمة
في الدرس السابق تعرفنا على معاملات الدوال (Parameters) والقيم المرسلة (Arguments)، وعرفنا كيف تستقبل الدالة البيانات لتنفيذ مهمة معينة.
لكن ماذا يحدث بعد انتهاء الدالة من عملها؟
في كثير من الأحيان لا نريد أن تنفذ الدالة المهمة فقط، بل نريد منها أيضًا أن تعيد نتيجة ليستفيد منها البرنامج.
ولهذا توفر Python مفهومًا مهمًا يسمى القيم المرجعة (Return Values).
ما هي القيمة المرجعة؟
القيمة المرجعة هي النتيجة التي ترسلها الدالة إلى البرنامج بعد انتهاء تنفيذها.
فبدلًا من أن تنتهي الدالة دون إرجاع أي شيء، يمكنها إعادة قيمة معينة ليستخدمها البرنامج في عمليات أخرى.
ولهذا تعتبر القيمة المرجعة وسيلة للتواصل بين الدالة وبقية أجزاء البرنامج.
---
لماذا نستخدم القيم المرجعة؟
في البرامج الحقيقية قد تقوم الدالة بإجراء عملية حسابية، أو معالجة بيانات، أو تنفيذ مهمة معينة.
وبعد انتهاء هذه المهمة، يحتاج البرنامج إلى معرفة النتيجة.
بدلًا من إعادة تنفيذ العملية مرة أخرى، تقوم الدالة بإرجاع النتيجة مباشرة، مما يجعل البرنامج أكثر كفاءة.
---
ماذا يحدث عند إرجاع قيمة؟
عندما تنتهي الدالة من تنفيذ مهمتها وتعيد قيمة، ينتقل البرنامج إلى المكان الذي استدعى الدالة منه.
ثم يستخدم القيمة المرجعة في تنفيذ بقية التعليمات.
وقد تُخزن هذه القيمة في متغير، أو تُستخدم في عملية أخرى، أو تُرسل إلى دالة مختلفة.
---
هل يجب أن تعيد جميع الدوال قيمة؟
لا.
بعض الدوال تنفذ مهمة فقط، مثل عرض رسالة أو حفظ ملف، ولا تحتاج إلى إعادة أي قيمة.
أما الدوال التي تنتج نتيجة يحتاجها البرنامج، فمن الأفضل أن تعيد تلك النتيجة ليستفيد منها لاحقًا.
---
الفرق بين طباعة النتيجة وإرجاعها
يعتقد كثير من المبتدئين أن طباعة النتيجة تعني إرجاعها، لكن هناك فرق كبير بينهما.
فعند طباعة النتيجة، تظهر للمستخدم فقط.
أما عند إرجاعها، فإن البرنامج نفسه يستطيع استخدامها في عمليات أخرى.
ولهذا فإن إرجاع القيم يمنح البرنامج مرونة أكبر من مجرد عرضها على الشاشة.
---
أهمية القيم المرجعة في المشاريع الحقيقية
تعتمد معظم التطبيقات الاحترافية على الدوال التي تعيد قيمًا.
فعلى سبيل المثال، قد تعيد دالة نتيجة عملية حسابية، أو بيانات مستخدم، أو حالة نجاح عملية معينة، أو معلومات تمت معالجتها.
وبذلك يمكن لبقية أجزاء البرنامج الاستفادة من هذه النتائج بسهولة.
---
فوائد استخدام القيم المرجعة
توفر القيم المرجعة العديد من المزايا، منها:
- تسهيل تبادل البيانات بين أجزاء البرنامج.
- إعادة استخدام نتائج العمليات.
- تقليل تكرار الكود.
- تحسين تنظيم البرامج.
- جعل الدوال أكثر فائدة ومرونة.
ولهذا تعتبر من المفاهيم الأساسية في جميع لغات البرمجة.
---
أخطاء شائعة عند المبتدئين
من الأخطاء التي يقع فيها المبتدئون:
- الاعتقاد أن طباعة النتيجة تعادل إرجاعها.
- نسيان استخدام القيمة المرجعة بعد استلامها.
- إنشاء دوال تعيد قيمًا لا يحتاج إليها البرنامج.
- الخلط بين الدوال التي تعيد قيمة والدوال التي تنفذ مهمة فقط.
لذلك يجب تحديد الهدف من الدالة قبل كتابة الكود.
ملخص الدرس
تعرفنا في هذا الدرس على القيم المرجعة (Return Values)، وعرفنا أنها تسمح للدالة بإعادة نتيجة إلى البرنامج بعد انتهاء تنفيذها، وتعلمنا الفرق بين طباعة النتيجة وإرجاعها، وأهمية القيم المرجعة في بناء برامج أكثر تنظيمًا واحترافية.
في الدرس السادس عشر سنتعرف على نطاق المتغيرات (Scope)، وسنفهم لماذا يمكن استخدام بعض المتغيرات في أماكن معينة فقط، وكيف يؤثر ذلك على طريقة كتابة البرامج.




ده الأساسيات