- الحصول على الرابط
- X
- بريد إلكتروني
- التطبيقات الأخرى
- الحصول على الرابط
- X
- بريد إلكتروني
- التطبيقات الأخرى

بعد أن ثبّت بايثون وكتبت أول برنامج، حان وقت أهم درس في الأساسيات: المتغيرات وأنواع البيانات في بايثون. كل برنامج تكتبه، من آلة حاسبة بسيطة إلى نظام ذكاء اصطناعي، يعتمد على هذه الفكرة. في هذا الدرس نشرحها ببساطة مع أمثلة تستطيع تجربتها فورًا.
ما هو المتغير؟
المتغير هو "صندوق" له اسم، نضع فيه قيمة لنستخدمها لاحقًا في البرنامج. في بايثون ننشئ المتغير بكتابة الاسم ثم علامة = ثم القيمة:
name = "سارة"
age = 22
height = 1.65
print(name)
print(age)
علامة = هنا لا تعني "يساوي" كما في الرياضيات، بل تعني "ضع القيمة التي على اليمين داخل المتغير الذي على اليسار".
يمكن تغيير قيمة المتغير
score = 10
score = 15
print(score) # النتيجة: 15
ولهذا سُمّي "متغيرًا"، لأن قيمته يمكن أن تتغير أثناء تشغيل البرنامج.
قواعد تسمية المتغيرات
| القاعدة | صحيح ✅ | خطأ ❌ |
|---|---|---|
| يبدأ بحرف أو شرطة سفلية | total, _count | 2total |
| لا يحتوي مسافات | first_name | first name |
| لا رموز خاصة | price_usd | price$ |
| ليس كلمة محجوزة | my_class | class, if |
ملاحظات مهمة:
- بايثون تفرّق بين الحروف الكبيرة والصغيرة:
Ageوageمتغيران مختلفان. - استخدم أسماء واضحة بالإنجليزية تصف المحتوى:
student_nameأفضل منx. - الأسلوب المعتاد في بايثون هو كتابة الكلمات بحروف صغيرة مفصولة بشرطة سفلية (snake_case).
أنواع البيانات الأساسية
| النوع | الاسم في بايثون | مثال | الاستخدام |
|---|---|---|---|
| نص | str | "مرحبًا" | الأسماء والرسائل |
| عدد صحيح | int | 25 | الأعمار والكميات |
| عدد عشري | float | 3.75 | الأسعار والأوزان |
| قيمة منطقية | bool | True / False | صح أو خطأ، نعم أو لا |
1. النصوص (str)
تُكتب بين علامتي تنصيص مفردة أو مزدوجة:
city = "الرياض"
greeting = 'أهلًا وسهلًا'
full = greeting + " في " + city
print(full) # أهلًا وسهلًا في الرياض
print(len(city)) # عدد الحروف: 6
طريقة أسهل لدمج النصوص مع المتغيرات هي f-string:
name = "خالد"
age = 30
print(f"اسمي {name} وعمري {age} سنة")
2. الأعداد الصحيحة (int) والعشرية (float)
price = 49.5 # float
quantity = 3 # int
total = price * quantity
print(total) # 148.5
العمليات الحسابية الأساسية:
| العملية | الرمز | مثال | النتيجة |
|---|---|---|---|
| جمع | + | 7 + 3 | 10 |
| طرح | - | 7 - 3 | 4 |
| ضرب | * | 7 * 3 | 21 |
| قسمة | / | 7 / 2 | 3.5 |
| قسمة صحيحة | // | 7 // 2 | 3 |
| باقي القسمة | % | 7 % 2 | 1 |
| أُس | ** | 2 ** 3 | 8 |
3. القيم المنطقية (bool)
لها قيمتان فقط: True (صح) وFalse (خطأ)، وتنتج غالبًا من المقارنات:
age = 20
is_adult = age >= 18
print(is_adult) # True
print(5 == 5) # True
print(5 != 3) # True
print(10 < 3) # False
سنستخدمها كثيرًا في الدرس القادم عن الجمل الشرطية if.
كيف أعرف نوع المتغير؟
استخدم الدالة type():
print(type("مرحبًا")) # <class 'str'>
print(type(10)) # <class 'int'>
print(type(2.5)) # <class 'float'>
print(type(True)) # <class 'bool'>
تحويل الأنواع
أشهر خطأ عند المبتدئين: input() تعيد دائمًا نصًا حتى لو كتب المستخدم رقمًا.
a = input("أدخل رقمًا: ") # مثلًا 5
b = input("أدخل رقمًا آخر: ") # مثلًا 3
print(a + b) # النتيجة 53 وليس 8!
الحل هو تحويل النص إلى رقم:
a = int(input("أدخل رقمًا: "))
b = int(input("أدخل رقمًا آخر: "))
print(a + b) # 8
| الدالة | تحوّل إلى | مثال |
|---|---|---|
int() | عدد صحيح | int("12") ← 12 |
float() | عدد عشري | float("3.5") ← 3.5 |
str() | نص | str(100) ← "100" |
bool() | قيمة منطقية | bool(0) ← False |
تطبيق عملي: حاسبة الفاتورة
item = input("اسم المنتج: ")
price = float(input("السعر بالريال: "))
qty = int(input("الكمية: "))
subtotal = price * qty
vat = subtotal * 0.15
total = subtotal + vat
print(f"المنتج: {item}")
print(f"المجموع قبل الضريبة: {subtotal:.2f} ريال")
print(f"ضريبة القيمة المضافة 15%: {vat:.2f} ريال")
print(f"الإجمالي: {total:.2f} ريال")
الرمز :.2f يعرض الرقم بخانتين عشريتين فقط.
تمارين لك
- اكتب برنامجًا يطلب اسمك ومدينتك ويطبع جملة ترحيب باستخدام f-string.
- اكتب برنامجًا يحوّل درجة الحرارة من مئوية إلى فهرنهايت (المعادلة:
F = C * 9 / 5 + 32). - اكتب برنامجًا يطلب عدد الدقائق ويحوّلها إلى ساعات ودقائق باستخدام
//و%.
إذا واجهك خطأ، انسخه واسأل عنه أداة ذكاء اصطناعي باستخدام الأمر رقم 9 في مقال: 10 أوامر جاهزة لـ ChatGPT.
أسئلة شائعة
هل أحتاج تحديد نوع المتغير عند إنشائه؟
لا. بايثون تحدد النوع تلقائيًا من القيمة التي تضعها، وهذا من أسباب سهولتها.
هل يمكن تسمية المتغيرات بالعربية؟
تقنيًا تقبل بايثون ذلك، لكن لا يُنصح به. استخدم الإنجليزية للأسماء، والعربية داخل النصوص والتعليقات فقط.
ما فائدة علامة # في الكود؟
تكتب بعدها تعليقًا لشرح الكود، وبايثون تتجاهله عند التشغيل.
الخلاصة
المتغير صندوق له اسم، والأنواع الأساسية أربعة: str وint وfloat وbool. تذكّر دائمًا أن input() تعيد نصًا فحوّله عند الحاجة. حل التمارين أعلاه، ثم تابع مسارك عبر خارطة طريق تعلّم بايثون. وإذا لم تثبّت بايثون بعد، ابدأ من هنا.
تعليقات
إرسال تعليق