AzLearn

أول برنامج

Hello World

مفهوم ~12 دقيقة

أول برنامج — Hello World

كل مبرمج يبدأ رحلته بـ “Hello World” — وهذا التقليد بدأ مع لغة C عام 1978 حين كتب برايان كيرنيهان وديني ريتشي أول مثال في كتابهما الشهير. في AzLearn، سنكتب نسختنا بالعربية والإنجليزية معاً.

الجميل في Python هو أن “Hello World” لا يحتاج سوى سطر واحد. قارن:

// Java — تحتاج 5 أسطر
public class Main {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}
# Python — سطر واحد كافٍ
print("Hello, World!")

هذا الفرق ليس مجرد اختلاف في الشكل — هو تعبير عن فلسفة Python الكاملة: البساطة والوضوح.

البرنامج الكامل

main.go

اضغط على تشغيل ولاحظ أن كل استدعاء لـ print يطبع في سطر مستقل.

دالة print — الأساسيات

print هي أكثر دالة ستستخدمها في بداياتك. تقبل عدة وسائط (arguments) وتفصل بينها بمسافة تلقائياً:

# طباعة عدة قيم — Print multiple values
print("الاسم:", "أحمد", "— العمر:", 25)
# النتيجة: الاسم: أحمد — العمر: 25

معامل sep — الفاصل بين القيم:

# تغيير الفاصل الافتراضي (مسافة) إلى شيء آخر
print("Python", "جميل", "جداً", sep=" - ")
# النتيجة: Python - جميل - جداً

معامل end — ما يأتي في نهاية السطر:

# print تضيف سطراً جديداً تلقائياً في النهاية
# يمكن تغيير ذلك بـ end
print("أهلاً ", end="")   # بدون سطر جديد
print("بالعالم!")          # يكمل في نفس السطر
# النتيجة: أهلاً بالعالم!

التعليقات — Comments

التعليقات نص يكتبه المبرمج لشرح الكود، و Python تتجاهله تماماً أثناء التنفيذ.

تعليق سطر واحد — Single-line comment:

# هذا تعليق يُتجاهل عند تشغيل البرنامج
print("هذا السطر يُنفَّذ")  # تعليق في نهاية السطر أيضاً

الـ docstring — نص توثيقي متعدد الأسطر:

"""
هذا نص توثيقي (docstring)
يمكن أن يمتد على عدة أسطر
يُستخدم لشرح الدوال والوحدات
"""
print("بعد النص التوثيقي")

في AzLearn، نكتب التعليقات بشكل ثنائي اللغة لأن ذلك يساعد على الفهم:

# أنشئ متغير لحساب عدد المستخدمين — Create a variable to count users
عدد_المستخدمين = 100

المسافة البادئة — Indentation

هنا يختلف Python عن معظم اللغات الأخرى. في Java وC++ وJavaScript، الأقواس المعقوصة {} هي التي تحدد الكتل البرمجية. في Python، المسافة البادئة (indentation) هي التي تحدد البنية.

القاعدة: الكود المرتبط ببعضه يجب أن يكون على نفس مستوى المسافة البادئة. المعيار هو 4 مسافات (spaces).

# مثال: if-else يوضح أهمية الـ indentation
x = 10

if x > 5:
    # هذا السطر داخل الـ if — مسافة 4 spaces
    print("x أكبر من 5")
    print("هذا السطر أيضاً داخل الـ if")
# هذا السطر خارج الـ if — بدون مسافة بادئة
print("هذا ينفّذ دائماً")

إذا خلطت بين المسافات، Python ستعطيك خطأ فورياً:

if True:
    print("سطر صحيح")
  print("خطأ! — IndentationError")   # مسافتان فقط بدل 4

الخطأ: IndentationError: unexpected indent

هذا القرار التصميمي كان جدلياً في البداية، لكن النتيجة العملية هي أن كود Python مقروء ومرتب دائماً. لا يمكن كتابة كود Python فوضوي من حيث الترتيب البصري.

تشغيل ملفات .py

حتى الآن جربنا الكود في المتصفح. في الواقع العملي، تكتب الكود في ملف بامتداد .py ثم تشغّله من سطر الأوامر.

الخطوات:

  1. افتح VS Code وأنشئ ملفاً جديداً باسم hello.py
  2. اكتب الكود:
# hello.py — أول برنامج حقيقي — My first real program
print("مرحبا بالعالم!")
print("هذا البرنامج يعمل من ملف .py")
  1. احفظ الملف (Ctrl+S أو Cmd+S)
  2. افتح سطر الأوامر في نفس المجلد
  3. شغّله:
python hello.py

أو في VS Code مباشرة، اضغط على زر التشغيل (▶) في أعلى يمين المحرر.

مثال متكامل

الآن نجمع كل ما تعلمناه في برنامج واحد:

main.go

أخطاء شائعة للمبتدئين

١. نسيان إغلاق علامات الاقتباس:

print("مرحبا)   # SyntaxError — علامة الإغلاق مفقودة

٢. خلط بين الـ indentation:

if True:
    print("صواب")
      print("خطأ")  # IndentationError

٣. استخدام Print بحرف كبير:

Print("مرحبا")  # NameError — Python حساس لحالة الأحرف

Python حساس تماماً لحالة الأحرف (case-sensitive). print تختلف عن Print وعن PRINT.

٤. نسيان الأقواس في print:

print "مرحبا"  # SyntaxError — هذا صحيح في Python 2 فقط
print("مرحبا") # الطريقة الصحيحة في Python 3

ماذا بعد؟

أتممت الفصل الأول! الآن تعرف ما هي Python، ثبّتها على جهازك، وكتبت أول برنامج حقيقي. في الفصل الثاني سننتقل للمتغيرات وأنواع البيانات — اللبنات الأساسية لأي برنامج.

تحدي — Challenge