• أهمية الدرس: يبدأ البرنامج بالتواصل معنا من خلال المخرجات. في هذا الدرس تظهر أول نتيجة للكود على الشاشة، ونتعرف إلى دوال جاهزة تنفذ مهام محددة.
  • ماذا ستتعلم:
    • ما الدالة المدمجة، وكيف نستخدم الأقواس والوسائط.
    • طباعة النصوص والأرقام ونتائج العمليات.
    • عرض أكثر من قيمة وتنظيمها في أسطر.
    • حساب طول النص باستخدام len().
    • قراءة الدوال المتداخلة من الداخل إلى الخارج.

 


 

الدالة: أمر جاهز لمهمة محددة

الدالة أداة جاهزة تستقبل قيمة أو أكثر، وتنفذ مهمة محددة. توفر بايثون دوال مدمجة يمكن استخدامها مباشرة، ومنها print() للعرض وlen() لقياس الطول.

  • اسم الدالة: يحدد الأداة المطلوبة، مثل print.
  • القوسان: يدلان على استدعاء الدالة، أي طلب تنفيذها.
  • الوسيط: القيمة التي توضع بين القوسين لتعمل الدالة عليها.

في التعليمة print("مرحبًا") يكون print اسم الدالة، والنص "مرحبًا" هو الوسيط الذي ستعرضه.

ليست كل الدوال متشابهة في مهمتها: print() تعرض قيمة، أما len() فتحسب طول قيمة وتعيد عددًا يمكن استخدامه بعد ذلك.


ماذا تعرض print()؟

تستطيع print() عرض نص أو رقم أو نتيجة تعبير. الاختلاف المهم هو أن النص يُكتب بين علامتي اقتباس، أما الرقم والتعبير الحسابي فيُكتبان من دون اقتباس.

print("مرحبًا")
print(150)
print(10 + 5)

تعرض التعليمات السابقة النص مرحبًا، ثم العدد 150، ثم تحسب بايثون 10 + 5 وتعرض الناتج 15.

علامتا الاقتباس تغيّران المعنى
  • print(10 + 5) تنفذ الجمع وتعرض 15.
  • print("10 + 5") تعرض الرموز كما كُتبت: 10 + 5.
  • print(150) وprint("150") قد تبدوان متشابهتين على الشاشة، لكن الأولى عدد والثانية نص.

ستظهر أهمية الفرق بين النص والعدد أكثر عند دراسة أنواع البيانات والعمليات التي يقبلها كل نوع.


أكثر من قيمة وأكثر من سطر

يمكن تمرير عدة وسائط إلى print() بفصلها بفواصل. تعرض بايثون القيم بالترتيب، وتضع مسافة بينها تلقائيًا.

print("اسمي", "سارة", "وعمري", 16)

يظهر الناتج هكذا:

اسمي سارة وعمري 16
  • الفاصلة تفصل بين الوسائط، وليست جزءًا من النص المعروض.
  • يمكن جمع نصوص وأرقام في أمر طباعة واحد باستخدام الفواصل.
  • تنهي print() مخرجاتها بسطر جديد افتراضيًا؛ لذلك يظهر أمر الطباعة التالي في سطر آخر.
  • يؤدي استدعاء print() من دون وسائط إلى طباعة سطر فارغ.

هذه الطريقة مناسبة لبناء رسالة من أجزاء مختلفة، مثل عنوان ثابت وقيمة تتغير أثناء تشغيل البرنامج.


كيف تقيس len() طول النص؟

تعيد len() عدد المحارف الموجودة في النص. تشمل المحارف الحروف والأرقام والمسافات وعلامات الترقيم الموجودة بين علامتي الاقتباس.

len("بايثون")       # النتيجة 6
len("بايثون لغة")   # النتيجة 10
len("")             # النتيجة 0
  • علامتا الاقتباس تحددان النص، لكنهما لا تدخلان في حساب طوله.
  • المسافة داخل النص تُحسب محرفًا واحدًا.
  • النص الفارغ طوله صفر لأنه لا يحتوي على أي محرف.
  • len("150") تعيد 3 لأن القيمة نص مكوّن من ثلاثة محارف.

الدالة len() تحسب الطول ولا تعرضه وحدها. إذا كُتب len("بايثون") داخل ملف برنامج فلن تظهر النتيجة على الشاشة ما لم تُطبع أو تُستخدم بطريقة أخرى.

ولا يمكن استخدام len(150) لقياس عدد خانات العدد مباشرة؛ فالعدد الصحيح ليس نصًا أو مجموعة لها طول في هذا السياق.


اقرأ الدوال من الداخل إلى الخارج

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

print(len("بايثون"))
  1. تُنفذ len("بايثون") أولًا.
  2. تعيد len() العدد 6.
  3. تصبح التعليمة كأنها print(6).
  4. تعرض print() العدد على الشاشة.

تفيد القراءة من الداخل إلى الخارج في توقع المخرجات وفهم الأكواد المركبة. قبل تشغيل أي تعليمة، حاول تحديد ما ستعيده كل دالة، ثم تابع إلى الدالة التي تحتويها.

أخطاء شائعة في البداية
  • نسيان علامات الاقتباس حول النص، فتتعامل بايثون معه على أنه اسم غير معرّف.
  • نسيان قوس أو علامة اقتباس، فيظهر خطأ في صياغة التعليمة.
  • الخلط بين حساب القيمة وعرضها؛ فالتعبير قد ينتج قيمة، لكن print() هي التي تجعلها ظاهرة في مخرجات البرنامج.

التمارين المرتبطة بهذا الدرس

  • التمرين الأول: الطباعة والدوال المدمجة
  • التمرين الثاني: قواعد الطباعة وقياس النصوص
  • التمرين الثالث: الأوامر ومخرجاتها
المزيد من المحتوى؟

سجل للوصول إلى المزيد