البرمجة📅 2026-09-26⏱ 9 دقائق قراءة🐍 مقال 3 من 10
المتغيرات وأنواع البيانات في Python — الشرح الكامل

المتغيرات وأنواع البيانات في Python — الشرح الكامل

دليل شامل للمتغيرات وأنواع البيانات في Python — النصوص، الأرقام، القوائم، القواميس مع أمثلة عملية

في المقال السابق، كتبت أول برنامج لك وطبعت "Hello, World!". الآن حان الوقت لفهم أهم مفهوم في البرمجة: المتغيرات وأنواع البيانات.

بدون المتغيرات، لا يمكن لأي برنامج أن يحفظ بيانات أو يتعامل معها. هي أساس كل شيء في Python.

بنهاية هذا المقال، ستكون قادراً على:

  • إنشاء متغيرات واستخدامها
  • فهم الفرق بين أنواع البيانات المختلفة
  • تحويل الأنواع من نوع لآخر
  • استخدام القوائم والقواميس
  • تجنب الأخطاء الشائعة

1. ما هو المتغير؟

المتغير هو مكان في ذاكرة الحاسوب نخزن فيه قيمة، ونعطيه اسماً لنشير إليه لاحقاً.

القياس العملي:

تخيل المتغير كـ صندوق عليه ملصق باسمه:

  • الصندوق = مساحة في الذاكرة
  • الملصق = اسم المتغير
  • المحتوى = القيمة المخزنة

إنشاء متغير:

name = "أحمد"
age = 25
is_student = True

شرح:

  • name = اسم المتغير
  • = = علامة الإسناد (وليست "يساوي")
  • "أحمد" = القيمة المخزنة

استخدام المتغير:

name = "سارة"
print(name)         # سارة
print(f"مرحباً {name}")  # مرحباً سارة

2. قواعد تسمية المتغيرات

القاعدةصحيحخطأ
يبدأ بحرف أو _name, _age2name
بدون مسافاتfirst_namefirst name
لا يستخدم كلمات محجوزةmy_printprint
حساس لحالة الأحرفName ≠ name—
يفضل snake_caseuser_ageUserAge

3. أنواع البيانات الأساسية

Python لديها عدة أنواع بيانات. أهم 6 أنواع:

1. النصوص (String — str)

name = "أحمد"
city = 'عمّان'
message = """
هذا نص
متعدد الأسطر
"""

print(type(name))  # <class 'str'>

ملاحظة: النص يوضع بين "..." أو '...'.

2. الأعداد الصحيحة (Integer — int)

age = 25
year = 2026
temperature = -5

print(type(age))  # <class 'int'>

3. الأعداد العشرية (Float — float)

price = 19.99
pi = 3.14159
ratio = 0.5

print(type(price))  # <class 'float'>

4. القيم المنطقية (Boolean — bool)

is_active = True
is_deleted = False

print(type(is_active))  # <class 'bool'>

قيمتان فقط: True أو False.

5. القوائم (List — list)

fruits = ["تفاح", "موز", "برتقال"]
numbers = [1, 2, 3, 4, 5]
mixed = ["أحمد", 25, True, 3.14]

print(type(fruits))  # <class 'list'>

القائمة: مجموعة مرتبة وقابلة للتعديل.

6. القواميس (Dictionary — dict)

person = {
    "name": "أحمد",
    "age": 25,
    "city": "عمّان"
}

print(type(person))  # <class 'dict'>

القاموس: مجموعة من أزواج مفتاح-قيمة.

جدول مقارنة:

النوعالاسممثالالاستخدام
strنص"أحمد"أسماء، رسائل، عناوين
intعدد صحيح25أعمار، أعداد، سنوات
floatعدد عشري19.99أسعار، نسب، قياسات
boolمنطقيTrueحالات، شروط، إعدادات
listقائمة[1, 2, 3]مجموعات مرتبة
dictقاموس{"a": 1}بيانات مترابطة

4. معرفة نوع المتغير

استخدم دالة type():

name = "أحمد"
age = 25
price = 19.99
is_active = True

print(type(name))      # <class 'str'>
print(type(age))       # <class 'int'>
print(type(price))     # <class 'float'>
print(type(is_active)) # <class 'bool'>

5. تحويل الأنواع (Type Conversion)

يمكنك تحويل نوع لآخر:

# نص إلى عدد صحيح
age_str = "25"
age_int = int(age_str)
print(age_int + 5)  # 30

# عدد صحيح إلى نص
num = 100
num_str = str(num)
print("الرقم: " + num_str)  # الرقم: 100

# نص إلى عدد عشري
price_str = "19.99"
price_float = float(price_str)
print(price_float * 2)  # 39.98

# عدد إلى منطقي
print(bool(1))   # True
print(bool(0))   # False
print(bool(""))  # False (نص فارغ)

استخدامات عملية:

# قراءة رقم من المستخدم
age = int(input("كم عمرك؟ "))
print(f"بعد 10 سنوات سيكون عمرك: {age + 10}")

6. العمل مع النصوص (Strings)

العمليات الأساسية:

text = "Python"

# الطول
print(len(text))  # 6

# الوصول لحرف
print(text[0])    # P
print(text[-1])   # n

# الشرائح
print(text[1:4])  # yth
print(text[:3])   # Pyt
print(text[3:])   # hon

الطرق الشائعة:

الطريقةالنتيجة
text.upper()PYTHON
text.lower()python
text.replace("P", "J")Jython
"y" in textTrue
text.startswith("P")True

تنسيق النصوص:

name = "أحمد"
age = 25

# f-String (الأفضل)
print(f"اسمي {name}، عمري {age}")

# format
print("اسمي {}، عمري {}".format(name, age))

# Concatenation
print("اسمي " + name)

7. العمل مع الأرقام

العمليات الحسابية:

a = 10
b = 3

print(a + b)   # 13 (جمع)
print(a - b)   # 7  (طرح)
print(a * b)   # 30 (ضرب)
print(a / b)   # 3.333... (قسمة)
print(a // b)  # 3  (قسمة صحيحة)
print(a % b)   # 1  (باقي القسمة)
print(a ** b)  # 1000 (قوة)

عمليات مختصرة:

counter = 0
counter += 1  # counter = counter + 1
counter -= 1
counter *= 2
counter /= 2

دوال رياضية:

import math

print(abs(-5))         # 5
print(round(3.7))      # 4
print(max(1, 5, 3))    # 5
print(min(1, 5, 3))    # 1
print(sum([1, 2, 3]))  # 6
print(math.sqrt(16))   # 4.0
print(math.pi)         # 3.14159...

8. العمل مع القوائم (Lists)

إنشاء قائمة:

fruits = ["تفاح", "موز", "برتقال"]
numbers = [1, 2, 3, 4, 5]
empty = []

الوصول للعناصر:

fruits = ["تفاح", "موز", "برتقال"]

print(fruits[0])   # تفاح
print(fruits[1])   # موز
print(fruits[-1])  # برتقال (آخر عنصر)

التعديل:

fruits = ["تفاح", "موز"]

fruits.append("برتقال")     # إضافة في النهاية
fruits.insert(0, "عنب")      # إدراج في موضع
fruits.remove("موز")         # حذف بالاسم
fruits.pop()                 # حذف الأخير
fruits.pop(0)                # حذف بالموقع

print(fruits)

الشرائح:

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

print(numbers[0:3])   # [1, 2, 3]
print(numbers[:5])    # [1, 2, 3, 4, 5]
print(numbers[5:])    # [6, 7, 8, 9, 10]
print(numbers[-3:])   # [8, 9, 10]
print(numbers[::2])   # [1, 3, 5, 7, 9]
print(numbers[::-1])  # [10, 9, 8, ..., 1]

الطول والترتيب:

numbers = [3, 1, 4, 1, 5, 9, 2, 6]

print(len(numbers))       # 8
print(sorted(numbers))    # [1, 1, 2, 3, 4, 5, 6, 9]
numbers.sort()            # ترتيب في المكان
numbers.reverse()         # عكس الترتيب

9. العمل مع القواميس (Dictionaries)

إنشاء قاموس:

person = {
    "name": "أحمد",
    "age": 25,
    "city": "عمّان"
}

الوصول للقيم:

print(person["name"])       # أحمد
print(person.get("age"))    # 25
print(person.get("x", "غير موجود"))  # غير موجود

التعديل والإضافة:

person = {"name": "أحمد"}

person["age"] = 25          # إضافة
person["name"] = "محمد"     # تعديل
del person["age"]           # حذف

التكرار:

person = {"name": "أحمد", "age": 25, "city": "عمّان"}

# المفاتيح
for key in person.keys():
    print(key)

# القيم
for value in person.values():
    print(value)

# الاثنان
for key, value in person.items():
    print(f"{key}: {value}")

التحقق من الوجود:

person = {"name": "أحمد", "age": 25}

if "name" in person:
    print("يوجد اسم")

if "city" in person:
    print("يوجد مدينة")
else:
    print("لا توجد مدينة")

10. أخطاء شائعة

1. خلط الأنواع:

# خطأ
age = "25"
result = age + 5  # TypeError

# صحيح
age = int("25")
result = age + 5  # 30

2. الوصول لعنصر غير موجود:

fruits = ["تفاح", "موز"]

# خطأ
print(fruits[5])  # IndexError

# صحيح
if len(fruits) > 5:
    print(fruits[5])

3. نسيان علامات التنصيص:

# خطأ
name = أحمد  # NameError

# صحيح
name = "أحمد"

4. استخدام = بدلاً من ==:

# خطأ (في الشرط)
if x = 5:  # SyntaxError

# صحيح
if x == 5:

11. مشروع عملي — بطاقة شخصية

دعنا نطبق كل ما تعلمناه:

# بطاقة شخصية تفاعلية

print("=" * 40)
print("📝 إنشاء بطاقة شخصية")
print("=" * 40)
print()

# جمع البيانات
name = input("ما اسمك؟ ")
age = int(input("كم عمرك؟ "))
city = input("من أي مدينة أنت؟ ")
hobbies_input = input("ما هواياتك؟ (افصل بينها بفاصلة) ")

# تحويل الهوايات إلى قائمة
hobbies = [h.strip() for h in hobbies_input.split(",")]

# إنشاء قاموس
person = {
    "الاسم": name,
    "العمر": age,
    "المدينة": city,
    "الهوايات": hobbies,
}

# عرض البطاقة
print()
print("=" * 40)
print("📋 بطاقتك الشخصية")
print("=" * 40)
print(f"👤 الاسم: {person['الاسم']}")
print(f"🎂 العمر: {person['العمر']} سنة")
print(f"📍 المدينة: {person['المدينة']}")
print(f"🎯 الهوايات:")
for hobby in person["الهوايات"]:
    print(f"   • {hobby}")
print("=" * 40)
print(f"\n✨ شكراً {name}! بطاقة جميلة!")

عند التشغيل:

========================================
📝 إنشاء بطاقة شخصية
========================================

ما اسمك؟ أحمد
كم عمرك؟ 25
من أي مدينة أنت؟ عمّان
ما هواياتك؟ القراءة، البرمجة، الرياضة

========================================
📋 بطاقتك الشخصية
========================================
👤 الاسم: أحمد
🎂 العمر: 25 سنة
📍 المدينة: عمّان
🎯 الهوايات:
   • القراءة
   • البرمجة
   • الرياضة
========================================

✨ شكراً أحمد! بطاقة جميلة!

12. تمارين عملية

التمرين 1: حساب المساحة

اكتب برنامجاً يطلب طول وعرض مستطيل، ثم يطبع مساحته.

التمرين 2: تحويل درجات الحرارة

اكتب برنامجاً يحول درجة الحرارة من مئوية إلى فهرنهايت.

القانون: F = C × 9/5 + 32

التمرين 3: قائمة التسوق

اكتب برنامجاً:

  • يطلب من المستخدم 5 عناصر
  • يخزنها في قائمة
  • يطبع القائمة مع أرقامها

التمرين 4: معلومات كتاب

اكتب برنامجاً ينشئ قاموساً لكتاب يحتوي على:

  • العنوان
  • المؤلف
  • سنة النشر
  • عدد الصفحات

ثم يطبع المعلومات بشكل منسق.

قائمة تحقق — هل تعلمت؟

المهارةالحالة
إنشاء المتغيرات واستخدامها⬜
فهم أنواع البيانات الستة⬜
استخدام type() لمعرفة النوع⬜
تحويل الأنواع⬜
العمل مع النصوص⬜
العمل مع الأرقام⬜
إنشاء القوائم والتعديل عليها⬜
إنشاء القواميس والوصول إليها⬜

الخلاصة

في هذا المقال، تعلمت:

  1. المتغيرات — صناديق لتخزين البيانات
  2. أنواع البيانات الستة — str, int, float, bool, list, dict
  3. تحويل الأنواع — من نوع لآخر
  4. العمل مع النصوص — العمليات والطرق
  5. العمل مع الأرقام — العمليات والدوال
  6. القوائم — إنشاء وتعديل والشرائح
  7. القواميس — أزواج مفتاح-قيمة

هذه هي الأساسيات التي ستبني عليها كل ما ستتعلمه لاحقاً في Python!

في المقال القادم: سنتعلم الشروط (if/else) — كيف تجعل برنامجك يتخذ قرارات!

جرب التمارين الأربعة قبل الانتقال للمقال التالي. الممارسة هي المفتاح!

ما نوع البيانات الذي وجدته الأكثر إثارة؟ شاركنا في التعليقات!

🐍

🎁 هدية مجانية: ورقة Python المرجعية

احصل على الدليل السريع لأشهر أوامر Python — 8 صفحات PDF مجاناً

📥 حمّل الورقة الآن
📄
فريق نهضة

فريق نهضة

فريق عربي متخصص في التقنية والذكاء الاصطناعي وتطوير الذات

📚 مقالات ذات صلة

بناء تطبيق مهام كامل بلغة Python — مع قاعدة بيانات
البرمجة

بناء تطبيق مهام كامل بلغة Python — مع قاعدة بيانات

دليل عملي لبناء تطبيق إدارة مهام احترافي بلغة Python — مع قاعدة بيانات SQLite وواجهة رسومية Tkinter

بناء آلة حاسبة بلغة Python — مشروع كامل خطوة بخطوة
البرمجة

بناء آلة حاسبة بلغة Python — مشروع كامل خطوة بخطوة

دليل عملي كامل لبناء آلة حاسبة احترافية بلغة Python — من التخطيط إلى التنفيذ، مع واجهة رسومية بـ Tkinter

Git و GitHub للمبتدئين — احفظ كودك وشاركه مع العالم
البرمجة

Git و GitHub للمبتدئين — احفظ كودك وشاركه مع العالم

دليل شامل لتعلم Git و GitHub من الصفر — تثبيت، أوامر أساسية، رفع أول مشروع، والعمل مع الفروع