الدرس الثالث: أساسيات لغة بايثون، المتغيرات، الأنواع، والعمليات الحسابية
تُعد لغة بايثون (Python) اليوم اللغة البرمجية الأكثر شعبية وقوة على مستوى العالم، والبوابة الذهبية لدخول عوالم الذكاء الاصطناعي، وعلم البيانات، وتطوير التطبيقات الذكية. تتميز بايثون ببساطة بنيتها النحوية الشبيهة باللغة الإنجليزية الطبيعية، مما يجعلها أداة مثالية للمبتدئين والمحترفين على حد سواء. يبدأ تعلم بايثون من استيعاب مفهوم المتغيرات كحاويات في الذاكرة لتخزين البيانات، وقواعد تسميتها، وإتقان التعامل مع أنواع البيانات الأساسية: كالأعداد الصحيحة (int)، والأعداد العشرية (float)، والنصوص (str)، والقيم المنطقية (bool)، إلى جانب التوظيف الدقيق لدوال التفاعل الأساسية مثل دالة الإخراج print() ودالة استقبال المدخلات input() مع آليات التحويل القسري بين الأنواع والعمليات الحسابية المتقدمة.
1. المتغيرات وأنواع البيانات الأساسية في بايثون
المتغير (Variable): مكان محجوز في ذاكرة الحاسوب (RAM) لتخزين قيمة قابلة للتعديل أثناء تشغيل البرنامج.
| نوع البيانات | الرمز | مثال في بايثون |
|---|---|---|
| عدد صحيح | int | age = 16 |
| عدد عشري | float | price = 19.99 |
| سلسلة نصية | str | name = "AlAmin" |
| قيمة منطقية | bool | is_active = True |
قواعد تسمية المتغيرات الإلزامية:
- يجب أن يبدأ بحرف أو بشرطة سفلية (_)، ولا يجوز أبداً أن يبدأ برقم (مثال خاطئ:
2name). - لا يحتوي على مسافات أو رموز خاصة عدا الشرطة السفلية (نستخدم نمط
student_age). - لغة بايثون حساسة لحالة الأحرف (Case-Sensitive): المتغير
Scoreيختلف تماماً عنscore.
2. دوال الإدخال والإخراج والعمليات الحسابية
•
print("النتيجة:", score, sep=" - ", end="
")• دالة
input() تستقبل دائماً البيانات في صورة نصية (str)، لذا يجب تحويلها (Type Casting) عند الحاجة لحسابات رياضية: num = int(input("ادخل رقماً: ")).
•
+ جمع ، - طرح ، * ضرب.•
/ قسمة حقيقية ينتج عنها دائماً عدد عشري float (مثال: 7 / 2 = 3.5).•
// قسمة صحيحة (Floor Division): تتجاهل الكسور (مثال: 7 // 2 = 3).•
% باقي القسمة (Modulus): (مثال: 7 % 2 = 1).•
** الأس والرفع للقوة (مثال: 2 ** 3 = 8).
تدريب برمجي 1: برنامج جمع رقمين مع التحويل
المسألة: اكتب كود بايثون يستقبل رقمين من المستخدم ويطبع حاصل ضربهما.
num1 = float(input("Enter first number: "))
num2 = float(input("Enter second number: "))
result = num1 * num2
print("The Product is:", result)
تدريب برمجي 2: تمييز أنواع البيانات بـ type()
المسألة: ما ناتج تنفيذ الأوامر التالية في بايثون؟a = 10; b = "10"; print(type(a), type(b))
•
.• المتغير الأول عدد صحيح، بينما الثاني محاط بعلامات اقتباس فهو سلسلة نصية ولا يمكن إجراء عمليات حسابية عليه مباشرة.
تدريب برمجي 3: حساب الفرق بين / و // و %
المسألة: احسب ناتج العمليات الثلاث في بايثون:print(17 / 5, 17 // 5, 17 % 5)
•
17 / 5 = 3.4 (قسمة حقيقية عشرية float).•
17 // 5 = 3 (قسمة صحيحة بحذف الجزء الكسري).•
17 % 5 = 2 (باقي القسمة لأن 5 × 3 = 15 والباقي 2).
تدريب برمجي 4: دمج النصوص وتكرارها
المسألة: ما ناتج تنفيذ السطرين:print("Python" + "3") و print("Hi" * 3)؟
• الأول:
Python3 (معامل + يدمج السلاسل النصية - Concatenation).• الثاني:
HiHiHi (معامل * يكرر النص بالعدد المحدد - String Repetition).
تدريب برمجي 5: حساب مساحة الدائرة في بايثون
المسألة: اكتب كوداً يحسب مساحة دائرة نصف قطرها r = 7 مستخدماً pi = 3.14 ومعامل الأس **.
r = 7
pi = 3.14
area = pi * (r ** 2)
print("Circle Area =", area) # الناتج: 153.86
تدريب برمجي 6: التحقق من أسماء المتغيرات الصالحة
المسألة: بين الصالح وغير الصالح من أسماء المتغيرات التالية مع التعليل: total_sum, class, 9score, user-name.
•
total_sum: صالح تماماً.•
class: غير صالح لأنه كلمة محجوزة في لغة بايثون.•
9score: غير صالح لأنه يبدأ برقم.•
user-name: غير صالح لاحتوائه على علامة الناقص (-).
تدريب برمجي 7: استخدام وسائط print() (sep و end)
المسألة: ما ناتج تنفيذ الأمر: print("A", "B", "C", sep="#", end="*")؟
• يطبع:
A#B#C*.• الوسيط
sep="#" يضع علامة # كفاصل بين الكلمات المطبوعة بدلاً من المسافة، والوسيط end="*" يضع علامة * في نهاية السطر بدلاً من الانتقال لسطر جديد.
تدريب برمجي 8: التحويل القسري للأنواع (Type Casting)
المسألة: ماذا يحدث عند تنفيذ الأمر int("25.5") مقارنة بـ float("25.5")؟
•
int("25.5") يعطي خطأ ValueError لأن النص يحتوي على فاصلة عشرية.•
float("25.5") ينجح ويتحول للعدد العشري 25.5، ولتحويله لعدد صحيح نقوم بـ: int(float("25.5")) فينتج 25.
اضغط على أي بطاقة لاكتشاف المعنى الدقيق، واضغط على أيقونة الصوت للاستماع للنطق:
اضغط على الإجابة لتتحقق من فهمك وتكتشف التفسير النموذجي فورياً: