u0627u0644u0631u0626u064au0633u064au0629 > بايثون للأطفال > الدرس 12: وصفات بايثون السحرية! 📜 (الدوال - Functions)

الدرس 12: وصفات بايثون السحرية! 📜 (الدوال - Functions)

في هذا الدرس الممتع، سنتعلم عن 'وصفات بايثون السرية' أو الدوال (Functions)! سنكتشف ما هي الدالة، ولماذا هي مفيدة لتنظيم الكود وتجنب التكرار، وسننشئ دالة بسيطة للترحيب.
May 22, 2025 u0627u0644u062fu0631u0633 u0631u0642u0645 12

أهلاً وسهلاً بكم أيها الطهاة المبرمجون الصغار في مطبخ بايثون السحري! 🧑‍🍳✨ حتى الآن، كنا نكتب أوامرنا مباشرة، وأحيانًا نكرر بعض مجموعات الأوامر. تخيل أن لديك وصفة كيك لذيذة جدًا 🎂. بدلاً من أن تكتب كل خطوات الوصفة (اخلط البيض، أضف السكر، إلخ) في كل مرة تريد صنع الكيك، ماذا لو كتبت الوصفة مرة واحدة وأعطيتها اسمًا، مثل “وصفة كيك الشوكولاتة السحري”؟ بعد ذلك، كلما أردت صنع الكيك، تقول فقط: “يا بايثون، نفذ لي ‘وصفة كيك الشوكولاتة السحري’!”. هذا بالضبط ما تفعله “الدوال” في بايثون! إنها وصفاتنا البرمجية السرية! هيا بنا نتعلم كيف نكتب هذه الوصفات ونستخدمها! 🚀

ما هي الدالة (Function)؟ وصفتك البرمجية الخاصة! 📝⚙️

الدالة في بايثون، واسمها بالإنجليزي:

Function

هي عبارة عن مجموعة من الأوامر نعطيها اسمًا مميزًا. هذه المجموعة من الأوامر تؤدي مهمة معينة. بمجرد أن ننشئ (نعرّف) هذه الدالة، يمكننا أن نطلب من بايثون تنفيذ كل الأوامر التي بداخلها ببساطة عن طريق استدعاء (مناداة) الدالة باسمها. كأنك تضغط على زر مكتوب عليه اسم المهمة، فيقوم بايثون بكل الخطوات اللازمة لتنفيذها!

لماذا نستخدم الدوال؟ أسرار الطاهي الماهر! 🤔💡

الدوال مهمة جدًا وتجعل حياتنا كمبرمجين أسهل وأكثر تنظيمًا، تمامًا مثلما تجعل الوصفات الجيدة الطهي أسهل! إليك بعض الأسباب:

  1. تنظيم الكود: الدوال تساعدنا على تقسيم برنامجنا الكبير إلى أجزاء صغيرة ومنظمة، كل جزء (دالة) مسؤول عن مهمة محددة. هذا يجعل قراءة الكود وفهمه أسهل، كأنك تقرأ كتابًا مقسمًا إلى فصول! 📖
  2. تجنب التكرار (مبدأ DRY – Don’t Repeat Yourself – لا تكرر نفسك): إذا كان لدينا مجموعة من الأوامر نحتاج لتنفيذها في أماكن مختلفة في برنامجنا، بدلاً من كتابتها مرارًا وتكرارًا (وهو أمر ممل وعرضة للأخطاء!)، نكتبها مرة واحدة داخل دالة، ثم نستدعي الدالة كلما احتجنا إليها. هذا يوفر الوقت والجهد ويجعل التعديلات أسهل! ⏳
  3. إعادة الاستخدام: بمجرد أن تكتب دالة جيدة، يمكنك استخدامها في برامج أخرى كثيرة! كأنك صنعت أداة سحرية يمكنك استخدامها متى شئت. 🛠️

كيف ننشئ (نعرّف) دالة بسيطة؟ كتابة وصفتنا الأولى! ✍️📜

إنشاء دالة في بايثون (يسمى “تعريف الدالة”) له قواعد بسيطة تشبه كتابة وصفة:

  1. نبدأ بالكلمة السحرية def (وهي اختصار لكلمة define وتعني “عرّف”).
  2. بعد def، نكتب اسم الدالة الذي نختاره. يجب أن يكون اسمًا معبرًا عن وظيفة الدالة (مثل greet_user أو calculate_sum). قواعد تسمية الدوال تشبه قواعد تسمية المتغيرات (حروف، أرقام، شرطة سفلية، لا تبدأ برقم).
  3. بعد اسم الدالة، نضع قوسين عاديين (). (سنتعلم لاحقًا أنه يمكننا وضع أشياء داخل هذه الأقواس!).
  4. ننهي سطر التعريف بنقطتين رأسيتين :. هذه مهمة جدًا!
  5. جسم الدالة (الأوامر): الأوامر التي نريد أن تنفذها الدالة تُكتب في الأسطر التالية، ويجب أن تكون مزاحة قليلاً إلى الداخل (مسافة بادئة أو indentation). هذا يخبر بايثون أن هذه الأوامر تابعة لهذه الدالة.

✨ لنطبق معًا: إنشاء دالة للترحيب! 👋😊 ✨

هيا ننشئ دالة بسيطة تقوم بطباعة رسالة ترحيب. توجه إلى محرر الأكواد المدمج. امسح أي كود قديم.

الكود الذي سنكتبه هو:

1. تعريف دالة الترحيب say_hello:

def say_hello():
    print("مرحباً بك أيها المبرمج الصغير المبدع!")
    print("أنت تقوم بعمل رائع في تعلم بايثون! 🎉")

هل انتهينا؟ ليس بعد!

إذا شغلت البرنامج الآن، لن يحدث شيء! 😮 لماذا؟ لأننا قمنا فقط بـتعريف الدالة (كتبنا الوصفة). لم نطلب من بايثون أن ينفذها (لم نطلب منه صنع الكيك!).

2. استدعاء (مناداة) الدالة لتنفيذها:

لكي نجعل بايثون ينفذ الأوامر الموجودة داخل دالة say_hello، يجب أن نستدعيها باسمها متبوعًا بقوسين (). هذا الاستدعاء يتم خارج تعريف الدالة (يعني بدون إزاحة، على نفس مستوى كلمة def).

الكود الكامل الذي ستكتبه في المحرر هو:

def say_hello():
    print("مرحباً بك أيها المبرمج الصغير المبدع!")
    print("أنت تقوم بعمل رائع في تعلم بايثون! 🎉")

say_hello() # هذا هو استدعاء الدالة

هيا يا صانع الوصفات! اكتب هذا الكود بنفسك في المحرر. تذكر الإزاحة للأوامر داخل الدالة، وعدم الإزاحة عند استدعائها.

محرر بايثون التفاعلي

شغل البرنامج الآن!

النتيجة المتوقعة التي ستظهر لك:

مرحباً بك أيها المبرمج الصغير المبدع!
أنت تقوم بعمل رائع في تعلم بايثون! 🎉

يا للروعة! لقد أنشأت وصفتك السحرية الأولى (الدالة say_hello) ثم طلبت من بايثون تنفيذها! يمكنك الآن استدعاء say_hello() عدة مرات في برنامجك، وفي كل مرة سينفذ نفس أوامر الترحيب بدون أن تضطر لكتابتها مرة أخرى!

جرب إضافة سطر آخر يستدعي الدالة مرة ثانية تحت الاستدعاء الأول. كيف سيبدو الكود؟ وكيف ستكون النتيجة؟

محرر بايثون التفاعلي

(تلميح: النتيجة ستكون رسالة الترحيب مطبوعة مرتين!)

✨ مثال آخر: دالة لرسم شكل بسيط! ✨

امسح الكود السابق.

الكود الذي سنكتبه هو:

1. تعريف دالة لرسم قلب صغير (باستخدام الرموز):

def draw_heart():
    print("  *   *  ")
    print(" * * * * ")
    print("  * * *  ")
    print("    *    ")

2. استدعاء الدالة لرسم القلب:

print("هذا قلب صغير لك:")
draw_heart()

الكود الكامل سيكون:

def draw_heart():
    print("  *   *  ")
    print(" * * * * ")
    print("  * * *  ")
    print("    *    ")

print("هذا قلب صغير لك:")
draw_heart()

هيا يا فنان الرموز، اكتب هذا الكود بنفسك!

محرر بايثون التفاعلي

شغل البرنامج! سترى رسالة ثم القلب الجميل الذي رسمته دالتك!

يمكنك الآن استدعاء draw_heart() في أي مكان في برنامجك لرسم هذا القلب بدون إعادة كتابة كل أوامر print.

ماذا بعد؟ دوال أكثر قوة! (قريبًا)

الدوال التي أنشأناها اليوم بسيطة جدًا. لكن الدوال يمكن أن تكون أكثر قوة! قريبًا، سنتعلم كيف:

  • نجعل الدوال تستقبل معلومات (مثل اسم المستخدم) لتستخدمها في عملها (تسمى “معاملات” أو parameters).
  • نجعل الدوال تعيد لنا نتيجة (مثل مجموع رقمين) لنستخدمها في أماكن أخرى (باستخدام كلمة return).

هذا سيجعل وصفاتنا البرمجية أكثر فائدة ومرونة!

جرب بنفسك! اكتب وصفاتك السحرية! 🧪📜✨

أفضل طريقة لفهم سحر الدوال هي بإنشاء دوالك الخاصة!

عد إلى محرر الأكواد المدمج وجرب هذه الأفكار:

  1. امسح كل شيء.
  2. أنشئ دالة اسمها sing_a_song تطبع كلمات أغنية بسيطة من سطرين أو ثلاثة تحبها. ثم استدع الدالة مرتين. فكر كيف ستكتب الكود لتعريف الدالة ثم استدعائها مرتين.

    محرر بايثون التفاعلي

  3. أنشئ دالة اسمها show_my_favorite_food تطبع اسم طعامك المفضل. ثم استدعها.

    محرر بايثون التفاعلي

  4. فكر في مهمة متكررة قمت بها في الدروس السابقة (مثل طباعة مجموعة من النجوم لتشكيل خط فاصل، كهذا: print("********")). هل يمكنك وضع هذا الأمر داخل دالة (مثلاً اسمها draw_line) ثم استدعائها عدة مرات لطباعة عدة خطوط؟

    محرر بايثون التفاعلي

لا تخف من التجربة! كل دالة تكتبها هي خطوة نحو تنظيم كودك وجعله أكثر احترافية وسهولة في القراءة والصيانة.

تذكير صغير للأبطال: نحن الآن نستمتع بـ محرر الأكواد المدمج. لاحقًا، عندما تصبحون محترفين، قد تستكشفون

VS Code

لكن الآن، ملعبنا هو الأفضل لكتابة وصفاتنا البرمجية الأولى!

ملخص درسنا عن الوصفات السحرية اليوم: 📜✨

  • الدالة (Function): هي مجموعة من الأوامر نعطيها اسمًا مميزًا. يمكننا تنفيذ هذه الأوامر عن طريق استدعاء الدالة باسمها.
  • لماذا نستخدم الدوال؟ لتنظيم الكود، تجنب تكرار كتابة نفس الأوامر، وإعادة استخدام الكود بسهولة.
  • تعريف الدالة: يبدأ بـ def، ثم اسم الدالة، ثم ()، ثم :. الأوامر داخل الدالة تكون مزاحة للداخل.
  • استدعاء الدالة: نكتب اسم الدالة متبوعًا بـ () لتنفيذ الأوامر التي بداخلها.
  • الدوال هي وصفاتنا البرمجية التي تجعل برامجنا أكثر قوة وتنظيمًا!

أبدعتم أيها الطهاة المبرمجون! 🌟 لقد تعلمتم اليوم كيف تنشئون وصفاتكم البرمجية الخاصة (الدوال). هذه مهارة أساسية جدًا في عالم البرمجة، وستساعدكم على بناء برامج أكبر وأكثر تعقيدًا بطريقة منظمة وفعالة.

استمروا في كتابة دوالكم الإبداعية، فكل دالة هي قطعة فنية في برنامجكم! إلى اللقاء في الدرس القادم، حيث سنكتشف المزيد من أسرار الدوال وكيف نجعلها أكثر تفاعلية! مع السلامة أيها الأبطال! 👋