أساسيات بايثون (Python Foundation)
في هذا الدرس سنتعلم الأساسيات الضرورية للبدء في البرمجة بلغة بايثون: الطباعة، المتغيرات، النصوص، المدخلات، والعمليات الحسابية. مع مقارنة بين أسلوب المبتدئين والأسلوب الاحترافي.
1. مقدمة ومفاهيم أساسية
بايثون هي لغة برمجة مفسرة (Interpreted)، مما يعني أنها لا تحتاج لخطوة "بناء" (Compile) مسبقة، بل يتم تنفيذ الكود سطراً بسطر. تتميز ببنية بسيطة تركز على قابلية القراءة، وتُستخدم في مجالات واسعة مثل الذكاء الاصطناعي، وتحليل البيانات، وتطبيقات الويب.
💡 لماذا Python؟
✅ بناء جملة بسيط وسهل القراءة
✅ مجتمع ضخم ومكتبات متنوعة
✅ تُستخدم في AI، Data Science، Web Development
✅ مثالية للمبتدئين والمحترفين على حد سواء
2. الطباعة والتعليقات (Printing & Comments)
الطباعة هي وسيلة إخراج البيانات إلى الشاشة، بينما التعليقات هي نصوص يتجاهلها المفسر وتستخدم لتدوين الملاحظات.
- التعليقات: نستخدم
#للسطر الواحد، و"""للأسطر المتعددة - الطباعة: الدالة
print()تنقل المؤشر لسطر جديد تلقائياً، ويمكن التحكم بذلك عبر المعاملend
# هذا تعليق لطباعة الترحيب
print("Hello")
print("World")
# النتيجة ستكون كل كلمة في سطر
"""
طباعة كلمتين في نفس السطر
مع التحكم في نهاية السطر
"""
print("Hello", end=" ") # استبدال النزول لسطر بمسافة
print("World")
# Output: Hello World
3. المتغيرات والتعيين (Variables & Assignment)
المتغير هو اسم يُسند لقيمة معينة لتخزينها في الذاكرة. في بايثون، لا تحتاج لتحديد نوع المتغير مسبقاً (Dynamic Typing).
قواعد التسمية
- يجب أن يبدأ بحرف أو شرطة سفلية (_)
- يمكن أن يحتوي على أرقام، لكن لا يبدأ برقم
- لا يمكن استخدام الكلمات المحجوزة (if, for, while...)
- الحروف الكبيرة والصغيرة مختلفة (case-sensitive)
x = 10
y = 20
name = "Ahmed"
print(x)
print(y)
# تعيين قيم لعدة متغيرات في سطر واحد (Unpacking)
x, y, name = 10, 20, "Ahmed"
# تبديل القيم (مثال إضافي شائع في بايثون)
x, y = y, x
4. التعامل مع النصوص (Strings Manipulation)
النصوص في بايثون هي سلاسل من الأحرف محاطة بعلامات تنصيص. يمكن الوصول لأجزاء منها عبر "الفهرسة" (Indexing) و "التقطيع" (Slicing).
- الفهرسة: تبدأ من 0 (يسار) أو -1 (يمين)
- التقطيع: الصيغة
[start:end:step] - تنسيق الطباعة: استخدام دالة
.format()لدمج المتغيرات داخل النصوص
first_name = "Python"
last_name = "Language"
full_name = first_name + " " + last_name # دمج باستخدام +
text = "Hello World"
# طباعة من الحرف 0 إلى 4
print(text[0:5])
text = "Python Language"
# استخدام الخطوة السالبة لعكس النص بذكاء
reversed_text = text[::-1]
# استخدام دالة format لطباعة منسقة ونظيفة
print("Course: {0}, Status: {1}".format(text, "Active"))
5. إدخال المستخدم والتحويل (User Input & Type Casting)
دالة input() تأخذ البيانات من المستخدم كـ "نص" (String) دائماً.
لإجراء عمليات حسابية، يجب تحويل النوع باستخدام int() أو float().
print("Please enter your age:")
age_text = input()
age_number = int(age_text) # تحويل النص إلى رقم في خطوة منفصلة
print(age_number)
# استقبال وتحويل في نفس السطر لتقليل المتغيرات الوسيطة
age = int(input("Please enter your age: "))
print("Next year you will be", age + 1)
input() ترجع دائماً نصاً (String)،
يجب تحويله باستخدام int() أو float() لإجراء العمليات الحسابية.
6. العمليات الحسابية والمنطقية (Operators)
بايثون تدعم العمليات الحسابية الأساسية، بالإضافة إلى عمليات المقارنة التي تعيد
قيم منطقية (True/False).
- القسمة:
/تعطي ناتجاً عشرياً، بينما//تعطي العدد الصحيح فقط (Floor Division) - الباقي:
%يعطي باقي القسمة (Modulo) - الأس: نستخدم
**للرفع للأس
a = 10
b = 3
result_div = a / b
result_floor = a // b
result_power = a ** b
print(result_div) # 3.333...
print(result_floor) # 3
x = 10
x += 5 # تعني x = x + 5 (Augmented Assignment)
x **= 2 # رفع للأس وتحديث القيمة
# التحقق المنطقي المباشر
is_even = (x % 2 == 0) # تعيد True أو False
print("Is Even?", is_even)
x += 5 أقصر وأوضح من x = x + 5تعمل مع جميع العمليات:
+=, -=, *=, /=, **=