تخيل أنك أعطيت الكمبيوتر مهمة ليقوم بحساب عملية معقدة. سيقوم بها بسرعة فائقة، ولكن... كيف سيعطيك النتيجة؟ الكمبيوتر يحتاج إلى "صوت" أو "شاشة" ليخبرنا بما وصل إليه. في بايثون، هذا الصوت هو الدالة المدمجة print().
---------
الدالة (Function) هي ببساطة أمر جاهز ومكتوب مسبقاً في اللغة ليقوم بمهمة محددة. مهمة الدالة print() هي "طباعة" أو "إظهار" ما نعطيها على الشاشة.
مثال 1: طباعة نص
لنجرب طباعة جملة "مرحباً بالعالم!" والتي تعد التقليد الشهير عند تعلم أي لغة برمجة.
print("مرحباً بالعالم!")
شرح الكود:
· print: هذا هو اسم الدالة.
· (): القوسان ضروريان بعد اسم أي دالة. نضع بداخلها الشيء الذي نريد أن تقوم الدالة بمهمتها عليه.
· "": علامتا الاقتباس تعنيان أن ما بداخلها هو "نص" (String)، وسنتعرف على أنواع البيانات لاحقاً بالتفصيل.
مثال 2: طباعة أرقام وعمليات حسابية
يمكن للدالة print() أيضاً أن تطبع أرقاماً، أو حتى نتائج عمليات حسابية.
print(150)
print(10 + 5)
لاحظ الفرق: عند طباعة الأرقام، لم نستخدم علامات الاقتباس "". هذا لأن 150 هو رقم وليس نصاً. في السطر الثاني، ستقوم بايثون أولاً بحساب 10 + 5 ثم ستطبع النتيجة النهائية وهي 15.
مثال 3: طباعة عدة أشياء في أمر واحد
يمكننا طباعة أكثر من شيء باستخدام فاصلة , بينها. ستقوم بايثون تلقائياً بوضع مسافة بين كل عنصر والآخر.
print("اسمي هو", "أحمد", "وعمري", 30)
المخرجات على الشاشة:
اسمي هو أحمد وعمري 30
---------
ماذا لو أردنا أن نعرف طول النص الذي نطبع؟ هل يجب أن نعد الحروف بأنفسنا؟ بالطبع لا! بايثون توفر لنا دالة مدمجة أخرى اسمها len() وهي اختصار لكلمة (length).
مهمة الدالة len() هي أن تحسب "طول" الشيء الذي نعطيها إياه. بالنسبة للنصوص، هي تحسب عدد الحروف (بما في ذلك المسافات).
مثال 4: استخدام len()
print(len("بايثون"))
كيف يعمل هذا الكود؟
1. بايثون تنظر إلى ما بداخل print().
2. تجد len("بايثون"). فتقوم بتنفيذها أولاً.
3. نتيجة len("بايثون") هي 6.
4. يتحول الأمر إلى print(6).
5. تُطبع النتيجة 6 على الشاشة.
لنجرب مثالاً أكثر عملية يجمع بين ما تعلمناه:
message = "تعلم البرمجة ممتع جداً"
length_of_message = len(message)
print("الرسالة هي:", message)
print("طول هذه الرسالة هو:", length_of_message, "حرفاً")
(سنتحدث عن message و length_of_message، والتي تسمى "المتغيرات"، في الدرس التالي مباشرة!)
