🧠 المتغيرات في بايثون: الذاكرة الذكية لبرامجك الأولى

أهلاً بك مجدداً في رحلتك مع بايثون! 🐍 تخيل أنك تريد كتابة برنامج بسيط يحسب عمرك، أو يخزن اسمك، أو حتى يتذكر درجة حرارة اليوم. كيف يمكن للكمبيوتر أن "يتذكر" هذه المعلومات لاستخدامها لاحقاً؟ الإجابة تكمن في المتغيرات (Variables).

المتغير هو مثل صندوق تخزين ذكي في ذاكرة الكمبيوتر. نعطي هذا الصندوق اسماً (مثل age أو name) ونضع بداخله قيمة (مثل 25 أو "أحمد"). وبمجرد تخزين القيمة، يمكننا استخدام اسم المتغير للإشارة إليها في أي مكان في برنامجنا. هذا يجعل الكود أكثر تنظيماً وقابلية للقراءة.


📦 كيف ننشئ متغيراً؟ (التعيين)

عملية إنشاء متغير وتخزين قيمة فيه تسمى التعيين (Assignment). في بايثون، الأمر بسيط جداً: نكتب اسم المتغير، ثم علامة المساواة =، ثم القيمة التي نريد تخزينها.

# نقوم بإنشاء متغير اسمه 'message' ونخزن فيه النص "مرحباً بالعالم!"
message = "مرحباً بالعالم!"

# الآن يمكننا طباعة محتوى المتغير ببساطة باستخدام اسمه
print(message)

عند تشغيل هذا الكود، ستكون النتيجة:

مرحباً بالعالم!

لاحظ كيف استخدمنا اسم المتغير message بدلاً من إعادة كتابة النص الطويل. تخيل لو كان لديك 100 سطر كود تستخدم فيه نفس النص، التغيير سيكون في مكان واحد فقط! 🤯


🏷️ قواعد تسمية المتغيرات

لا يمكنك تسمية متغيرك بأي اسم. توجد قواعد بسيطة يجب اتباعها:

  1. يجب أن يبدأ بحرف أو شرطة سفلية (_). لا يمكن أن يبدأ برقم.
    • ✅ صحيح: name, _user, player1
    • ❌ خطأ: 1player, 2name
  2. يمكن أن يحتوي على حروف وأرقام وشرطة سفلية فقط.
    • ✅ صحيح: user_name, total_score2024
    • ❌ خطأ: user-name, total score, price$
  3. بايثون حساسة لحالة الأحرف (Case-Sensitive). هذا يعني أن age و Age و AGE هي ثلاثة متغيرات مختلفة تماماً.
  4. تجنب استخدام الكلمات المحجوزة في اللغة (مثل if, for, while, print). هذه الكلمات لها معنى خاص لدى بايثون.

نصيحة احترافية: 🎯 استخدم أسماء متغيرات واضحة وموضحة للغرض منها. student_name أفضل بكثير من sn أو n. هذا يجعل كودك يقرأ نفسه!


🗂️ أنواع البيانات الأساسية (Data Types)

القيمة التي نخزنها في المتغير لها نوع (Type). معرفة النوع تساعد بايثون على فهم كيفية التعامل مع القيمة. سنتعرف الآن على الأنواع الأساسية الأربعة:

1. النصوص (Strings - str)

هي أي سلسلة من الأحرف محاطة بعلامتي اقتباس فردية ' ' أو مزدوجة " ". تُستخدم لتخزين النصوص.

# تخزين النصوص
user_name = "أحمد"
city = 'الرياض'
greeting = "مرحباً، كيف حالك؟"

2. الأعداد الصحيحة (Integers - int)

هي أعداد صحيحة (بدون كسور). تُستخدم في العد والحسابات.

# تخزين الأعداد الصحيحة
age = 25
students_count = 40
temperature = -5

3. الأعداد العشرية (Floating-Point Numbers - float)

هي أعداد تحتوي على فاصلة عشرية. تُستخدم للقيم الدقيقة مثل الأسعار والقياسات.

# تخزين الأعداد العشرية
price = 99.99
pi_value = 3.14159
average = 85.5

4. القيم المنطقية (Booleans - bool)

هي قيم يمكن أن تكون إما صواب (True) أو خطأ (False) فقط. تُستخدم لاتخاذ القرارات في البرنامج (سنتعلمها لاحقاً).

# تخزين القيم المنطقية
is_logged_in = True
has_permission = False
task_completed = True

🔍 كيف أعرف نوع المتغير؟ (type())

يمكنك استخدام الدالة السحرية type() لاكتشاف نوع البيانات المخزنة في أي متغير. هذه أداة مفيدة جداً للتصحيح (Debugging).

# لنختبر أنواع المتغيرات السابقة
print(type(user_name))   # سيطبع: <class 'str'>
print(type(age))         # سيطبع: <class 'int'>
print(type(price))       # سيطبع: <class 'float'>
print(type(is_logged_in))# سيطبع: <class 'bool'>

✏️ تغيير قيمة المتغير (إعادة التعيين)

قوة المتغيرات تكمن في إمكانية تغيير قيمتها في أي وقت. فقط قم بتعيين قيمة جديدة له.

# لنبدأ بمتغير
score = 10
print("النتيجة الأولية:", score)  # الناتج: 10

# نغير قيمته
score = 20
print("النتيجة بعد التغيير:", score)  # الناتج: 20

# يمكننا حتى تغيير نوع البيانات المخزن فيه!
score = "ممتاز"
print("التقييم النهائي:", score)  # الناتج: ممتاز

ملاحظة مهمة: ⚠️ عندما تعطي متغيراً قيمة جديدة، فإن القيمة القديمة تُمحى وتحل محلها القيمة الجديدة.


🧮 مثال عملي بسيط يجمع كل شيء

لنكتب برنامجاً صغيراً يخزن بعض المعلومات عن شخص ثم يطبعها.

# إنشاء متغيرات لتخزين معلومات الطالب
student_name = "فاطمة"
student_age = 20
student_grade = 95.5
is_graduated = False

# طباعة المعلومات باستخدام أسماء المتغيرات
print("اسم الطالب:", student_name)
print("عمر الطالب:", student_age)
print("درجة الطالب:", student_grade)
print("هل تخرج؟", is_graduated)

ستكون نتيجة التشغيل:

اسم الطالب: فاطمة
عمر الطالب: 20
درجة الطالب: 95.5
هل تخرج؟ False

🧪 تمارين سريعة للتطبيق

جرب كتابة هذه الأسطر بنفسك في محرر الأكواد:

  1. أنشئ متغيراً اسمه country وخزن فيه اسم بلدك.
  2. أنشئ متغيراً اسمه year وخزن فيه السنة الحالية كرقم صحيح.
  3. استخدم دالة print(type(...)) لمعرفة نوع كلا المتغيرين.
  4. غيّر قيمة متغير year إلى السنة القادمة ثم اطبعها.