مقدمة عن دوال بايثون
الدوال هي أساس البرمجة المنظمة والمعيارية. فهي تسمح لك بتقسيم الكود إلى وحدات منطقية، وإعادة استخدامه، وجعل البرامج أكثر قابلية للقراءة والتوسع.
تقدم بايثون آلية قوية ومرنة للعمل مع الدوال. في هذه المقالة، سنستعرض بالتفصيل الجوانب الأساسية للعمل مع الدوال في بايثون: التعريف، الاستدعاء، الباراميترات، إرجاع القيم، وأفضل ممارسات البرمجة.
ما هي الدالة في بايثون
الدالة هي كتلة مسماة من الكود يمكن استدعاؤها بشكل متكرر لتنفيذ مهمة محددة. يمكن لدوال بايثون استقبال الوسائط وإرجاع القيم. وهي عنصر أساسي في البرمجة المعيارية وتساعد على تجنب تكرار الكود.
المزايا الرئيسية لاستخدام الدوال:
- إعادة استخدام الكود
- تنظيم أفضل للبرنامج
- تبسيط عملية الاختبار وتصحيح الأخطاء
- تقليل تعقيد البرنامج
تعريف الدالة: الكلمة المفتاحية def
تُستخدم الكلمة المفتاحية def لتعريف دالة في بايثون. يتضمن بناء جملة تعريف الدالة عدة عناصر إلزامية.
def greet():
print("مرحبًا بالعالم!")
هيكل تعريف الدالة
- def — الكلمة المفتاحية لتعريف الدالة
- greet — اسم الدالة (يجب أن يتبع قواعد تسمية المتغيرات)
- () — الأقواس المستديرة للباراميترات (يمكن أن تكون فارغة)
- : — النقطتان الرأسيتان للإشارة إلى بداية جسم الدالة
- المسافة البادئة — مسافة بادئة إلزامية (عادة 4 مسافات) لجسم الدالة
قواعد تسمية الدوال
عند تسمية الدوال، يجب اتباع القواعد التالية:
- استخدام الحروف والأرقام والشرطات السفلية فقط
- البدء بحرف أو شرطة سفلية
- استخدام نمط snake_case للأسماء متعددة الكلمات
- اختيار أسماء وصفية
استدعاء الدالة في بايثون
لاستدعاء دالة بايثون، يجب استخدام اسمها مع الأقواس المستديرة. يتم تنفيذ استدعاء الدالة في المكان الذي كُتب فيه اسم الدالة مع الأقواس.
greet() # الإخراج: مرحبًا بالعالم!
خصائص استدعاء الدوال
كيفية استدعاء دالة في بايثون بشكل صحيح:
- تحديد اسم الدالة بدقة
- وضع الأقواس المستديرة بعد الاسم
- تمرير الوسائط المطلوبة داخل الأقواس
- التأكد من تعريف الدالة قبل مكان الاستدعاء
الباراميترات والوسائط في الدوال
يمكن لدوال بايثون استقبال باراميترات لمعالجة بيانات مختلفة. الباراميترات تجعل الدوال أكثر مرونة وعمومية.
def greet(name):
print(f"مرحبًا، {name}!")
greet("أحمد") # مرحبًا، أحمد!
الوسائط الموضعية والمسماة
تدعم بايثون طرقًا مختلفة لتمرير الوسائط إلى الدوال:
def user_info(name, age):
print(f"{name} — عمره {age} سنة")
# وسائط موضعية
user_info("خالد", 30)
# وسائط مسماة
user_info(age=25, name="سارة")
الوسائط الموضعية تُمرر بنفس الترتيب الذي تم تعريف الباراميترات به. الوسائط المسماة تسمح بتحديد قيمة لباراميتر معين باستخدام اسمه.
الباراميترات الافتراضية
الباراميترات الافتراضية تسمح باستدعاء الدالة دون تمرير جميع الوسائط:
def greet(name="ضيف"):
print(f"أهلاً بك، {name}!")
greet() # أهلاً بك، ضيف!
greet("نور") # أهلاً بك، نور!
عدد غير محدد من الوسائط
استخدام *args
الباراميتر *ar