الدوال (Functions) في لغة بايثون هي كتل من الأوامر البرمجية مُجمَّعة معًا لتنفيذ مهمة مُحدَّدة. تُعتبر الدوال من أهم الأدوات في البرمجة لأنها تُساعد على تنظيم الكود، إعادة استخدامه، وجعله أكثر قابلية للقراءة والصيانة.
مفهوم الدوال:
تخيَّل أن لديك برنامجًا يحتاج إلى تنفيذ عملية مُعيَّنة بشكل مُتكرِّر، مثل حساب مساحة مُثلَّث. بدلًا من كتابة نفس الكود في كل مرة تحتاج فيها إلى حساب المساحة، يُمكنك تعريف دالة تقوم بهذه العملية، ثم استدعاء هذه الدالة في أي مكان في البرنامج.
مزايا استخدام الدوال:
- تنظيم الكود: تُقسِّم الدوال البرنامج إلى أجزاء صغيرة مُستقلَّة، مما يُسهِّل فهمه وتعديله.
- إعادة الاستخدام: يُمكن استدعاء الدالة أكثر من مرة في البرنامج، مما يُوفِّر الوقت والجهد.
- قابلية الصيانة: عند الحاجة إلى تعديل عملية مُعيَّنة، يكفي تعديل الكود في مكان واحد (داخل الدالة)، بدلًا من تعديله في أماكن مُتعدِّدة.
كيفية تعريف دالة في بايثون:
يتم تعريف دالة في بايثون باستخدام الكلمة المفتاحية def
، يتبعها اسم الدالة، ثم قوسين ()
، ثم نقطتين رأسيتين :
. بعد ذلك، يتم كتابة أوامر الدالة بإزاحة (Indentation).
Python
def اسم_الدالة(البارامترات): # أوامر الدالة return قيمة_الرجوع # اختياري
def
: الكلمة المفتاحية لتعريف دالة.اسم_الدالة
: اسم يُعطى للدالة ويُستخدم لاستدعائها. يجب أن يتبع قواعد تسمية المتغيرات في بايثون.البارامترات
: قيم تُمرَّر إلى الدالة عند استدعائها (اختياري).أوامر_الدالة
: الكود الذي سيتم تنفيذه عند استدعاء الدالة.return
: تُستخدم لإرجاع قيمة من الدالة (اختياري).
مثال:
Python
def حساب_مساحة_المثلث(القاعدة، الارتفاع): المساحة = 0.5 * القاعدة * الارتفاع return المساحة
# استدعاء الدالةقاعدة_المثلث = 10ارتفاع_المثلث = 5مساحة_المثلث = حساب_مساحة_المثلث(قاعدة_المثلث، ارتفاع_المثلث)print("مساحة المثلث =", مساحة_المثلث) # الناتج: مساحة المثلث = 25.0
في هذا المثال:
- تم تعريف دالة باسم
حساب_مساحة_المثلث
تأخذ بارامترين:القاعدة
والارتفاع
. - تقوم الدالة بحساب مساحة المثلث باستخدام القانون المعروف.
- تُرجع الدالة قيمة المساحة باستخدام الكلمة
return
. - يتم استدعاء الدالة بتمرير قيم القاعدة والارتفاع، ثم يتم طباعة الناتج.
أنواع الدوال في بايثون:
- الدوال المُضمَّنة (Built-in Functions): هي دوال مُعرَّفة مُسبقًا في بايثون، مثل
print()
،len()
،max()
، وغيرها. - الدوال المُعرَّفة من قِبل المُستخدم (User-defined Functions): هي الدوال التي يقوم المُبرمج بتعريفها، كما رأينا في المثال السابق.
نصائح مُهمَّة:
- يجب اختيار أسماء واضحة ومُعبِّرة للدوال.
- يُفضَّل أن تقوم الدالة بمهمة واحدة مُحدَّدة.