6.1 تعريف الدوال
أهداف التعلم
في نهاية هذا القسم، ينبغي أن تكون قادرًا على:
- تحديد استدعاءات الدالة في برنامج.
- تعريف دالّة بدون مُعامِلات تُخرج سلاسل نصية.
- وصف فوائد استخدام الدوال.
استدعاء دالّة
طوال الكتاب، استُدعيت الدوال لأداء مهام مختلفة. مثال: print() تطبع القيم، و sqrt() تحسب الجذر التربيعي. الدالّة هي كتلة شِفرة مُسمّاة وقابلة لإعادة الاستخدام، تؤدي مهمة عند استدعائها.
مفاهيم تطبيقية
تحديد استدعاءات الدوال
تعريف دالّة
تُعرّف الدالّة باستخدام الكلمة المحجوزة def. يحتوي السطر الأول على def متبوعًا باسم الدالّة (بأسلوب snake_case)، والأقواس (مع أي مُعامِلات – ستُناقش لاحقًا)، ونقطتين رأسيتين. يبدأ جسم الدالّة المُزاح عادةً بسلسلة التوثيق (docstring) التي تصف مهمة الدالّة، ويتبعها تعليمات الدالّة. يجب تعريف الدالّة قبل استدعائها.
مفاهيم تطبيقية
تعريف الدوال
فوائد الدوال
تعزز الدالّة النمطية بوضع تعليمات الشِفرة المتعلقة بمهمة واحدة في مجموعة منفصلة. يمكن تنفيذ جسم الدالّة بشكل متكرر مع استدعاءات دالّة متعددة، لذا تعزز الدالّة قابلية إعادة الاستخدام. الشِفرة النمطية والقابلة لإعادة الاستخدام أسهل في التعديل ويمكن مشاركتها بين المبرمجين لتجنب إعادة اختراع العجلة.
مفاهيم تطبيقية
تحسين البرامج باستخدام الدوال
تأمل الشِفرة أعلاه.
جرّب بنفسك
كشك بيع الوجبات الخفيفة في السينما
اكتب دالّة، concessions()، تطبع خيارات الطعام والشراب في السينما.
المعطى:
concessions()
الإخراج هو:
Food/Drink Options:
Popcorn: $8-10
Candy: $3-5
Soft drink: $5-7
جرّب بنفسك
مِحَث الشروط والأحكام
اكتب دالّة، terms()، تطلب من المستخدم قبول الشروط والأحكام، وتقرأ Y/N، وتُخرج استجابة. في البرنامج الرئيسي، اقرأ عدد المستخدمين واستدعِ terms() لكل مستخدم.
بإعطاء المدخلات 1 و "Y"، يكون الإخراج:
Do you accept the terms and conditions?
Y
Thank you for accepting.
بإعطاء المدخلات 2، "N"، و "Y"، يكون الإخراج:
Do you accept the terms and conditions?
N
Have a good day.
Do you accept the terms and conditions?
Y
Thank you for accepting.