الفصل الثالث: أساسيات الكتابة البرمجية في بايثون
مقدمة الفصل
الآن بعد أن أصبحت بيئة عملك جاهزة، سندخل إلى قلب اللغة نفسها. هذا الفصل هو حجر الأساس الذي ستبني عليه كل معرفتك القادمة. سنتعلم فيه القواعد الأساسية لكتابة الكود (Syntax)، وكيفية التعامل مع البيانات الأولية، وتنفيذ أبسط العمليات. إذا أتقنت هذا الفصل، فستتمكن من كتابة برامج بسيطة وفهم منطق البرمجة بشكل عام.
1. بنية الكود (Syntax) والطباعة
لكل لغة قواعدها النحوية، وفي بايثون، هذه القواعد بسيطة ومباشرة. أهم وأول دالة ستتعامل معها هي دالة print()
، والتي تُستخدم لعرض النصوص والقيم على الشاشة.
# هذا هو أول برنامج حقيقي لك
print("مرحبًا بك في عالم بايثون!")
print()
هي دالة جاهزة في بايثون.- النصوص يجب أن توضع دائمًا بين علامتي تنصيص، سواء كانت مزدوجة
" "
أو مفردة' '
.
2. التعليقات (Comments)
التعليق هو ملاحظة تكتبها لنفسك أو للمبرمجين الآخرين داخل الكود لتوضيح ما يفعله جزء معين. المترجم يتجاهل التعليقات تمامًا ولا يقوم بتنفيذها. في بايثون، يبدأ التعليق برمز المربع (#
).
# هذا السطر يقوم بطباعة ناتج عملية حسابية
print(5 + 3)
عادة برمجية جيدة: اعتد على كتابة تعليقات واضحة لتسهيل فهم الكود وصيانته لاحقًا.
3. المسافات البادئة (Indentation): قاعدة بايثون الذهبية
هذه هي القاعدة الأهم التي تميز بايثون عن معظم اللغات الأخرى. بايثون تعتمد على المسافات البادئة (المسافات في بداية السطر) لتحديد الكتل البرمجية وتنظيمها. هذه المسافات ليست اختيارية للتنسيق، بل هي جزء من بنية اللغة.
مثال صحيح:
لاحظ أن السطر الثاني يبدأ بمسافة بادئة (عادة 4 مسافات)، لأنه يتبع جملة if
.
if 5 > 2:
print("خمسة أكبر من اثنين!")
مثال خاطئ (سيسبب خطأ IndentationError
):
if 5 > 2:
print("هذا الكود لن يعمل") # خطأ! لا توجد مسافة بادئة
ستتعرف على أهمية هذه القاعدة بشكل أكبر عند دراسة الشروط والحلقات في الفصول القادمة.
4. المتغيرات (Variables): حاويات البيانات
المتغير هو اسم تقوم بحجزه في ذاكرة الحاسوب لتخزين قيمة معينة. يمكنك التفكير فيه كصندوق تضع عليه ملصقًا (اسم المتغير) وتضع بداخله شيئًا ما (القيمة).
# قمنا بإنشاء متغير اسمه name وخزّنا فيه القيمة "أحمد"
name = "أحمد"
age = 25
# يمكننا الآن استخدام اسم المتغير لطباعة قيمته
print(name)
print(age)
- علامة
=
تُستخدم لإسناد (تخزين) قيمة في متغير.
5. استقبال البيانات من المستخدم (Input)
لجعل برامجك تفاعلية، يمكنك استخدام دالة input()
التي تسمح للمستخدم بإدخال بيانات من لوحة المفاتيح.
user_name = input("الرجاء إدخال اسمك: ")
print("أهلاً بك يا " + user_name)
ملاحظة هامة: دالة input()
تعيد دائمًا القيمة التي أدخلها المستخدم على شكل نص (string)، حتى لو كانت أرقامًا.
6. العمليات الحسابية الأساسية
يمكنك إجراء العمليات الحسابية في بايثون بسهولة كما في الآلة الحاسبة.
x = 10
y = 3
print(x + y) # الجمع: 13
print(x - y) # الطرح: 7
print(x * y) # الضرب: 30
print(x / y) # القسمة: 3.333
print(x ** y) # الأس (10 قوة 3): 1000
print(x % y) # باقي القسمة: 1
7. خطأ شائع: الفرق بين =
و ==
هذا من أكثر الأخطاء شيوعًا لدى المبتدئين.
=
(علامة يساوي واحدة): هي عامل الإسناد (Assignment). تُستخدم لوضع قيمة داخل متغير.==
(علامتا يساوي): هي عامل المقارنة (Comparison). تُستخدم للتحقق مما إذا كانت قيمتان متساويتين، ونتيجتها تكون إماTrue
(صحيح) أوFalse
(خطأ).
x = 5 # إسناد: ضع القيمة 5 في المتغير x
print(x == 5) # مقارنة: هل قيمة x تساوي 5؟ -> ستطبع True
8. تمارين تطبيقية
تمرين 1: بطاقة تعريف
اكتب برنامجًا يسأل المستخدم عن اسمه ومدينته، ثم يطبع رسالة مثل: أهلاً بك أحمد من مدينة الرباط!
تمرين 2: حاسبة بسيطة للجمع
اكتب برنامجًا يطلب من المستخدم إدخال رقمين، ثم يقوم بجمعهما وطباعة الناتج.
الحل:
num1_str = input("أدخل الرقم الأول: ")
num2_str = input("أدخل الرقم الثاني: ")
# تذكر أن input تعيد نصًا، لذلك يجب تحويله إلى أرقام قبل الجمع
# سوف نشرح دالة int() بالتفصيل في الفصل القادم
num1_int = int(num1_str)
num2_int = int(num2_str)
result = num1_int + num2_int
print("ناتج الجمع هو:", result)
9. خلاصة الفصل
في هذا الفصل، تعلمت القواعد الأساسية التي لا غنى عنها لأي مبرمج بايثون:
✅ بنية الكود: كيفية كتابة الأوامر واستخدام دالة print()
.
✅ التعليقات: أهمية توثيق الكود باستخدام #
.
✅ المسافات البادئة: القاعدة الذهبية لتنظيم الكود في بايثون.
✅ المتغيرات: كيفية تخزين البيانات في متغيرات.
✅ المدخلات والمخرجات: كيفية التفاعل مع المستخدم باستخدام input()
و print()
.
✅ العمليات الأساسية: إجراء العمليات الحسابية والمقارنات.