طَبِّقْهاتعلّم المبدأ، وطبّقه بيدكمقرر 111 · أساسيات برمجة الحاسب
الدرس 16 · الوحدة 4: الدوال والقوائم

كتابة الدوال: def

نكتب دوالنا بأنفسنا لنستخدم الأوامر نفسها مرات كثيرة. ⏱ نحو 20 دقيقة.

def greet():greet()greet()greet()
بعد هذا الدرس ستستطيع أن:
  • تشرح فائدة كتابة الدوال.
  • تعرّف دالة بـ def وتستدعيها.
  • تمرّر قيمة أو أكثر إلى الدالة عبر المُعطيات.

١لماذا نكتب دوالنا؟

إذا تكررت مجموعة أوامر في برنامجك عدة مرات، فاجمعها في دالة لها اسم، ثم استدعها متى شئت. مثل وصفة الطبخ: تكتبها مرة، وتطبخ بها كل يوم.

main.py
def greet():    print("السلام عليكم")    print("أهلًا بك في الدرس") greet()greet()
Shell×
>>> %Run main.py
السلام عليكم
أهلًا بك في الدرس
السلام عليكم
أهلًا بك في الدرس
>>>

def تعني «عرّف». السطر الأول يعرّف الدالة ولا ينفّذها. التنفيذ يحدث فقط عند الاستدعاء greet().

٢أجزاء تعريف الدالة

الجزءمثالملاحظة
الكلمة defdefتبدأ بها كل دالة
اسم الدالةgreetبنفس قواعد أسماء المتغيّرات
القوسان والنقطتان():لا تنسَ النقطتين
جسم الدالةالأسطر التي تحتهابمسافة بادئة، مثل if

٣المُعطيات: نعطي الدالة قيمة

نستطيع أن نجعل الدالة تستقبل قيمة تعمل عليها. نكتب اسمًا بين القوسين يسمى المُعطى، وعند الاستدعاء نضع القيمة:

🔎 تتبّع: استدعاء دالة لها مُعطى
main.py
def hello(name):    print("مرحبًا", name) hello("علي")hello("منى")
Variables · المتغيّرات في الذاكرة
Shell×

الدالة نفسها، لكن نتيجتها تتغيّر حسب القيمة التي نعطيها.

٤أكثر من مُعطى

نفصل بين المُعطيات بفاصلة، ونعطي القيم بالترتيب نفسه:

main.py
def area(width, height):    print("المساحة:", width * height) area(4, 5)area(10, 3)
Shell×
>>> %Run main.py
المساحة: 20
المساحة: 30
>>>
📎 للاستزادة (اختياري): قيمة افتراضية للمُعطى

نستطيع أن نعطي المُعطى قيمة تُستخدم إذا لم نرسل قيمة:

main.py
def welcome(name="زائر"):    print("أهلًا", name) welcome()welcome("خالد")
Shell×
>>> %Run main.py
أهلًا زائر
أهلًا خالد
>>>

توقّع وتحقّق

متى تُنفَّذ أسطر الدالة؟

التعريف وحده لا ينفّذ شيئًا.

كم مرة يُطبع «مرحبًا» إذا عرّفنا دالة تطبعه واستدعيناها 3 مرات؟

كل استدعاء ينفّذها مرة.

في def add(a, b): ما a و b؟

هما مُعطيان يستقبلان القيم.

أي سطر يعرّف دالة بشكل صحيح؟

def ثم الاسم ثم () ثم :

الخلاصة

تحدٍّ برمجي: دالة الترحيب

سهل

اكتب دالة اسمها welcome تستقبل اسمًا وتطبع: أهلًا ثم الاسم. ثم استدعها مرتين: مع "سعد" ومع "ريم".

المطلوب:
  • عرّف الدالة بـ def welcome(name):
  • داخلها: print("أهلًا", name)
  • استدعها مرتين.

ابدأ من هذا الكود، واضغط ▶ شغّل هنا لتكتب حلّك وتجرّبه مباشرة:

main.py
def welcome(name):
المطلوب×
أهلًا سعد
أهلًا ريم
💡 تلميح 1
السطر داخل الدالة يبدأ بمسافة بادئة.
💡 تلميح 2
الاستدعاء: welcome("سعد")

حاول بنفسك أولًا؛ للمسألة أكثر من حلّ صحيح.

main.py
def welcome(name):    print("أهلًا", name) welcome("سعد")welcome("ريم")
انتقل إلى تقييم الدرساختيار من متعدد، وصح وخطأ، وأكمل الفراغ، وتتبّع الناتج.ابدأ التقييم ←