6.5 القيم المُرجَعة
أهداف التعلم
في نهاية هذا القسم، ينبغي أن تكون قادرًا على:
- تحديد القيمة المُرجَعة للدالّة.
- استخدام تعليمات الإرجاع في الدوال لإرجاع القيم.
الإرجاع من دالّة
عندما تنهي الدالّة عملها، فإنها تعود وتوفر نتيجة للشِفرة المستدعية. تُنهي تعليمة الإرجاع تنفيذ الدالّة ويمكنها تحديد قيمة لإرجاعها إلى مستدعي الدالّة. الدوال التي تم تقديمها حتى الآن لم تتضمن تعليمة return، وهو ما يعادل إرجاع None، مما يمثل عدم وجود قيمة.
مفاهيم تطبيقية
استخدام تعليمات الإرجاع
استخدام تعليمات إرجاع متعددة
قد تستخدم الدوال التي تحتوي على مسارات تنفيذ متعددة تعليمات return متعددة. مثال: قد تحتوي الدالّة التي تتضمن تعليمة if-else على تعليمَتَي return لكل فرع. تُنهي تعليمات Return دائمًا الدالّة وتُعيد سير التنفيذ إلى الشِفرة المستدعية.
في الجدول أدناه، تستقبل الدالّة calc_mpg() الأميال المقطوعة وكمية الغالونات المستهلكة من الوقود، وتحسب استهلاك السيارة من الوقود (ميل لكل غالون). تتحقق الدالّة calc_mpg() مما إذا كانت قيمة gallons تساوي 0 (لتجنب القسمة على صفر)، وإذا كان الأمر كذلك، فإنها تُرجع -1، وهي قيمة تُستخدم غالبًا للإشارة إلى وجود مشكلة.
def calc_mpg(miles, gallons):
if gallons > 0:
mpg = miles/gallons
return mpg
else:
print("Gallons can't be 0")
return -1
car_1_mpg = calc_mpg(448, 16)
print("Car 1's mpg is", car_1_mpg)
car_2_mpg = calc_mpg(300, 0)
print("Car 2's mpg is", car_2_mpg)
|
Car 1's mpg is 28.0 Gallons can't be 0 Car 2's mpg is -1 |
مفاهيم تطبيقية
تعليمات إرجاع متعددة
استخدام الدوال كقيم
الدوال هي كائنات تُقيّم إلى قيم، لذا يمكن استخدام استدعاءات الدوال في التعبيرات. يمكن دمج استدعاء دالّة مع استدعاءات دوال أخرى، ومُتغيِّرات، وقيم حرفية طالما أن القيمة المُرجَعة متوافقة مع العملية.
مفاهيم تطبيقية
استخدام قيم الدوال
جرّب بنفسك
تقدير عدد أيام الحياة
اكتب دالّة، days_alive()، تستقبل العمر بالسنوات وتُخرج عدد الأيام التقديرية التي عاشها المستخدم كعدد صحيح. افترض أن كل سنة تحتوي على 365.24 يومًا. استخدم الدالّة round()، التي تستقبل عددًا وتُرجع أقرب عدد صحيح.
ثم اكتب برنامجًا رئيسيًا يقرأ عمر المستخدم ويُخرج نتيجة الدالّة days_alive().
المدخلات المعطاة:
21
الإخراج هو:
You have been alive about 7670 days.
جرّب بنفسك
حساب متوسط القوائم
اكتب دالّة، avg_list()، تستقبل قائمة وتُرجع متوسط قيم القائمة.